一尘不染

Selenium无头浏览器WebDriver [Errno 104]对等重置连接

selenium

我正在尝试从下面的网址中抓取数据。但是selenium有时会driver.get(url)出错[Errno 104] Connection reset by peer,有时会失败[Errno 111] Connection refused在极少数情况下,它可以正常工作,
并且在使用实际浏览器的Mac上,同一蜘蛛每次都能正常工作。因此,这与我的无关spider

尝试了许多解决方案,例如在页面上等待获取选择器,隐式等待,使用selenium-requests传递正确的请求标头等,但似乎没有任何效果。

http://www.snapdeal.com/offers/deal-of-the-day
https://paytm.com/shop/g/paytm-home/exclusive-discount-deals

我使用的pythonseleniumheadless Firefox webdriver实现这一目标。操作系统是centos 6.5

注意: 我有许多AJAX沉重的页面被成功抓取,下面是一些页面。

http://www.infibeam.com/deal-of-the-day.html, http://www.amazon.in/gp/goldbox/ref=nav_topnav_deals

已经花了很多天试图调试问题,但是没有运气。任何帮助,将不胜感激。


阅读 305

收藏
2020-06-26

共1个答案

一尘不染

经过几天的纠缠,终于找到了原因。在这里写出来是为了社区的利益。无头浏览器由于缺少RAM服务器而失败,来自的奇怪错误消息webdriver是真实的pita

服务器连续运行了好60几天没有重启,重新启动就可以了。将交换次数增加3倍后,过去几天一直没有遇到问题。还安排了清理页面文件缓存的任务(http://www.yourownlinux.com/2013/10/how-
to-free-up-release-unused-cached-memory-in-
linux.html)。

2020-06-26