python scrapy response statis

时间:2019-03-18 15:42:59

标签: python scrapy

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无法正常工作。

1 个答案:

答案 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。