微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用R将字段添加到在线表单并刮取生成的JavaScript创建的表

我想通过预定义的文本(例如BN1 1NA)让R完成这个网页 http://cti.voa.gov.uk/cti/上的“通过邮政编码搜索”字段,前进到下一个页面,并且删除生成的4列表,这取决于邮政编码,可以是超过多页.为了使其更加复杂,“改进指标”不是文本字段,而是一个图像文件(如果您使用邮政编码BN1 3HP搜索的话).我喜欢这个列包含0或1,这取决于图像是否存在.

最后我在一个很好的数据框架之后,镜像屏幕上的4列.

我试图修改这个question的建议,做上面所说的没有运气,老实说,我没有深入尝试来破译这个.

我知道R可能不是最适合我需要做的,但这是我所有可以使用的.任何帮助将不胜感激.

解决方法

我不知道美国之音网站的T& C对刮擦有什么看法,但是这个代码将会做到这一点:
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

Firebug一个优秀的“Net”面板,POST头可以看到.大多数现代浏览器也有类似内置的东西.

原文地址:https://www.jb51.cc/html/230349.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐