首页 > 解决方案 > 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不起作用。

标签: pythonscrapy

解决方案


这个函数永远不会做任何事情,因为第一个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。


推荐阅读