def all_type(self, response):
if response.url is 'http://www.ccdy.cn/zhuanti/' and response.url is 'http://www.ccdy.cn/difang/':
if response.status != 404:
yield scrapy.Request(url=response.url, callback=self.all_article)
for i in range(0, 24):
type_url = response.url + 'index_' + str(i) + '.htm'
yield scrapy.Request(url=type_url, callback=self.all_type)
为什么我将状态代码禁用为404并且不再访问它,但是搜寻器仍然访问404页面?这是scrapy
编写的搜寻器。主要问题是response.status != 404
无法正常工作。
答案 0 :(得分:0)
此功能永远不会做任何事情,因为第一个 if 条件:
if response.url is 'http://www.ccdy.cn/zhuanti/' and response.url is 'http://www.ccdy.cn/difang/':
始终为False,因此永远不会进入 if 代码块。也许您要在那里使用OR而不是AND?
...或者您的缩进是错误的,或者至少是错误的。无论如何, if 是没有意义的,因为它显然总是会为False。