Chr*_*ris 13 javascript r web-scraping phantomjs rselenium
我试图让R在这个网页http://cti.voa.gov.uk/cti/上用预定义的文本(例如BN1 1NA)完成"通过邮政编码搜索"字段,前进到下一页并抓取结果4列表,根据邮政编码,可以在多个页面上.为了使其更复杂,"改进指标"不是文本字段,而是图像文件(如果使用邮政编码BN1 3HP进行搜索,则会看到).我希望此列包含0或1,具体取决于图像是否存在.
最终,我追随一个很好的数据框架,它反映了屏幕上的4列.
我试图修改这个问题的建议去做我上面描述的没有运气的事情,说实话我试图破译这个问题.
我意识到R可能不是最适合我需要做的事情,但这些都是我可以使用的.任何帮助将不胜感激.
我不确定VOA网站的条款和条件对刮刮说什么,但是这段代码可以完成这项工作:
library("httr")
library("rvest")
post_code <- "B1 1"
resp <- POST("http://cti.voa.gov.uk/cti/InitS.asp?lcn=0",
encode = "form",
body = list(btnPush = 1,
txtPageNum = 0,
txtPostCode = post_code,
txtRedirectTo = "InitS.asp",
txtStartKey = 0))
resp_cont <- read_html(resp)
council_table <- resp_cont %>%
html_node(".scl_complex table") %>%
html_table
Run Code Online (Sandbox Code Playgroud)
Firebug具有出色的“ Net”面板,可以在其中看到POST标头。大多数现代浏览器也内置类似的东西。