使用selenium phantom js或python请求进行网页抓取 - 每2-3页服务器返回“错误”页面

时间:2016-03-18 11:01:27

标签: python selenium selenium-webdriver web-scraping phantomjs

我一直在用硒/幻影js快乐地生气。最近,我注意到我正在抓取的一个网站,开始返回一个“坏”页面(每2-3页没有相关内容的页面) - 不清楚为什么。我测试了python请求,我得到了类似的结果(问题),虽然它稍微好一些(在我得到一个坏的之前更像3-4页)。

我的所作所为:

  1. 我有一个我洗牌的页面网址列表 - 所以它不太可能有相同的抓取模式。
  2. 请求之间有10-20秒的随机睡眠(没有一个是紧急的)
  3. 我尝试使用不使用Cookie
  4. 我尝试轮换IP地址(在抓取之间弹出我的服务器并获取新的IP地址)
  5. 我检查了robots.txt - 没有做任何“坏事”
  6. 用户代理的设置方式与我在笔记本电脑上的设置类似(http://whatsmyuseragent.com/
  7. phantomjs所需的功能设置为与DesiredCapabilities.CHROME相同的字典(我实际创建了自己的Chrome字典并嵌入了我正在使用的真正的chrome版本。)
  8. 启用了JavaScript(虽然我并不需要它)
  9. 我使用service_args=['--ignore-ssl-errors=true']
  10. 设置了忽略ssl错误

    我每天只跑两次~9小时。无论我在笔记本电脑上运行代码还是在云端的某个地方运行Ubuntu,问题都是一样的。

    思想?

1 个答案:

答案 0 :(得分:0)

如果服务器限制或阻止您,您需要联系服务器的管理员并要求他将您列入白名单。 除了试图刮得更慢之外,你无能为力。

如果服务器过载,您可以尝试一天中的不同时间。如果服务器被窃听,请尝试重现它并通知管理员。