【发布时间】:2018-09-08 22:30:42
【问题描述】:
几个月来我一直能够阅读此页面,但从周三开始,它就停止了。
myURL <- "http://www.nasdaq.com/symbol/fb"
webpage <- readLines(myURL)
我试过了:
- read_html (rvest)
- html_session (rvest) 也重置用户代理 - 没有变化。
- readLines 这曾经是我所需要的。现在它像其他所有方法一样冻结。
- GET (httr)
- getURL (RCurl)
- 通过 Windows 机器上的 R studio 和直接在 Ubuntu 服务器上的 R 中尝试了所有这些。到处都结冰。
- 浏览了网络选项卡上的 Chrome 开发人员工具,试图了解为什么它可以在浏览器中轻松加载,而不是在 R 中。我没有看到任何确凿证据,但我不是专家。李>
如果有人能弄清楚如何在不冻结页面的情况下获取页面,那么这就是我摆脱困境所需的全部帮助。谢谢!
【问题讨论】:
-
你能分享你使用的代码吗?
-
已编辑以显示 readLines() 示例。这是最简单的情况,但 RCurl、httr 和 rvest 方法也会冻结。
-
没有足够的信息来调试这个。您最终可能会与他们的robots policy 发生冲突,从而导致 IP 禁令。您可能位于具有最近更改的规则集的透明代理或防火墙后面。您可能有一个站点不喜欢响应的默认用户代理。您的系统可能有主机文件更改或 pwnd。需要适当的调试协议来提供进一步帮助。
-
是的,这可能是机器人的问题,但我已经尝试了几个 IP,所以如果他们有我的 ID,那不是 IP。
标签: r web-scraping rvest rcurl httr