目标页面上有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用来改善爬取效果。
但效果不好,怎么去做?谢!
先要确定你的目标网站没有进行过内容更新,然后再看你的程序在异常处理上有没有漏洞,比如有些网站在某些时候打开的时间会比较长,而你设置的请求等待时间过短,或是没有对请求失败(一般是超时)的链接进行多次再请求确认,都可能导致获取数据不一致。这里只是举一个例子而已,每一个网站的情况都不一样,题主还是要仔细捋一捋自己的代码。