crawl函数遭遇http error (错误代码559)后停止

我所爬取的目标网站,每一个网页中会有一个跳到下一页的链接,但是由于这个链接与对应网页的页码不对应,所以只能爬下当前页面后去提取这个链接。这也就意味着,要是爬虫在爬某一个网页时爬取失败了,那爬虫也就无法继续往下爬了(因为后续页面的链接获取不到)。

而现在我所面临的问题就是:爬虫运行一段时间后,可能由于网络之类的原因,或者网站服务器本身的原因,会报一个http error(错误代码559),然后,pyspider的new,success,retry,fail四个参数一直显示0,0,0,0……完全停了下来。

像在这种倘若中间crawl出错就会直接导致整个爬虫无法继续运行的情况中,是否有办法加一些处理逻辑,让一个页面若未爬取成功,就不断重试,不断重试……或者其他之类的,能解决问题的办法。。。

追加:
我将retries次数设为了1000。。。断网试验了下,报了599错误然后重试,可是很快变成(new:0 success:0 retry:0 failed:0)这是不是说,爬虫已经死掉了不再往下走了呀?

图片描述

阅读 4.3k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进