【发布时间】:2015-03-27 22:01:15
【问题描述】:
我正在尝试使用县级网站对房产信息进行网络抓取 首先我想网页抓取: 网址:http://reparcelasmt.loudoun.gov/search/commonsearch.aspx?mode=parid 例如: 输入“123205197000”的税号包裹编号 点击搜索 单击该行以查看属性详细信息 选择住宅选项卡 刮掉“Primary Building”下的表格
到目前为止我所做的第二件事: 我使用Scraping from aspx website取得了一些进展
require(httr)
require(XML)
basePage <- "http://reparcelasmt.loudoun.gov"
h <- handle(basePage)
GET(handle = h)
res <- GET(handle = h, path = "/search/commonsearch.aspx?mode=parid")
resXML <- htmlParse(content(res, as = "text"))
在查看 resXML 时,我发现下面的 html 代码我认为可能需要填写并以某种方式提交。我认为可能相关的 HTML 中的关键字是:id="Form1" 和 id="action"
<form name="Form1" method="post" action="Disclaimer.aspx?FromUrl=..%2fsearch%2fcommonsearch.aspx%3fmode%3dparid" id="Form1">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTg0Mjk5NDk3MWRkj8q93u53cL62jCmCkDzR+iRJJ70=">
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWBQL8q9ymDgLpuJU7Aub60+ELAuO8lrkBAtL2kugI8BSyTTneHZXvLUVQf7YJFvW03XQ=">
<table cellpadding="1" width="430" align="center">
<tr>
<td align="center">
<input onclick="__doPostBack('btDisagree','')" name="btDisagree" type="button" id="btDisagree" class="MenuButton" style="WIDTH: 100px" value="Disagree">
</td><td align="center">
<input onclick="__doPostBack('btAgree','')" name="btAgree" type="button" id="btAgree" class="MenuButton" style="WIDTH: 100px" value="Agree">
</td></tr></table>
<input name="hdURL" type="hidden" id="hdURL" value="../search/commonsearch.aspx?mode=parid">
<input name="action" type="hidden" id="action">
</form>
如果有人对如何继续有任何想法,那就太好了。
谢谢。 马特
【问题讨论】:
-
查看
rvest包,它具有html_form()、set_values()和submit_form()功能,它们可以更轻松地提取表单、为这些表单中的字段设置值并提交它们. -
谢谢,我会看一下,看看我想出了什么。
-
这个成功了。
标签: asp.net r forms screen-scraping