python - 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
不起作用。
解决方案
这个函数永远不会做任何事情,因为第一个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。
推荐阅读
- tensorflow - 从 TensorFlow 模型生成 SavedModel 以在 Google Cloud ML 上提供服务
- php - 按年份显示存档博客文章
- python - 如何清理元组并将它们插入到 csv 文件中?
- vim - TypeScript 文件在缩进时被视为 xml
- java - Java:如何将不包含空格的字符表示为单词?
- android - 使用意图从类向 MainActivity 发送数据时出错
- c# - 如何在一台 Windows 服务器上运行多个 asp.net core MQTT 代理?
- winapi - MFC:从控件本身的代码限制子控件的大小
- chocolatey - 创建 Chocolatey 包并多次执行安装
- java - 如何为井字游戏创建简单、中等和困难级别?