神奇的Http头(X-Forwarded-For)可以解决抓取限制吗?
抓取一个网站,设置的是休眠1秒,大概抓取了100个TargetUrl,就被屏蔽了,表现就是由TargetUrl跳转到一个输入校验码页面。
其他设置不变,仅添加了一个Http头(addHeader("X-Forwarded-For", "8.8.8.8")),到现在都快2000个TargetUrl了,还能成功抓取。
为什么这种情况下就没有100的限制了呢?
但将程序部署到服务器上后,仍有100的限制,经过比较发现本地与服务器所连接的实际IP地址不同,在服务器中hosts文件中绑定了本地所使用的那个ip后,确实没有100的限制了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
改header里的IP,来路, 禁cookies, 请求不同cdn节点, 维护一个代理池 ~
网站程序不给力, 直接拿这个字段当客户端IP了, 你试试抓大点的网站, 完全没用
应该和当前的负载有关系.
一般不可能...8888是dns,也不是google的爬虫.
XMLHttpRequest cannot load https://api.github.com/users/octocat/followers. Request header field X-Forwarded-For is not allowed by Access-Control-Allow-Headers. users.html:1
真的这么神奇吗?我试试
当你是google的爬虫了吧