为什么每次爬虫获取的数据量都不一样?

目标页面上有100个url,爬虫会顺着这些url进去爬取内容,有时会返回二十几条内容,有时三十几条,每次都不一样,这是什么原因造成的?

程序结构如下:

start_urls = [domain_url]

def parse(self, response):
   for link in links:
          yield Request(link,callback=self.parse2)
          
 def parse2(self,response):
        sel =Selector(response)
        print sel
        

当然,我也设置了DOWNLOAD_DELAY、DOWNLOAD_TIMEOUT、retrymiddleware、UserAgentMiddleware用来改善爬取效果。

但效果不好,怎么去做?谢!

阅读 6.9k
2 个回答

先要确定你的目标网站没有进行过内容更新,然后再看你的程序在异常处理上有没有漏洞,比如有些网站在某些时候打开的时间会比较长,而你设置的请求等待时间过短,或是没有对请求失败(一般是超时)的链接进行多次再请求确认,都可能导致获取数据不一致。这里只是举一个例子而已,每一个网站的情况都不一样,题主还是要仔细捋一捋自己的代码。

感谢邀请。我想确认一下你的效果不好指的是如何效果不好呢?20~30有没有可能有些页面一开始就没有100条数据,比如说到了最后一页只有20条之类的

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