Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将重定向存储在碎片项目中_Python_Redirect_Scrapy - Fatal编程技术网

Python 将重定向存储在碎片项目中

Python 将重定向存储在碎片项目中,python,redirect,scrapy,Python,Redirect,Scrapy,我想在我的scrapyitems.py文件中包括一个响应字段,如下所示: class ScrapyItem(Item): title = Field() h1 = Field() response = Field() 我想我可以在我的spider.py文件中使用response.status,但每次都会得到200状态代码。如果页面被重定向或找不到,我希望用301、302或404来填充 在Scrapy中有什么方法可以做到这一点吗?Scrapy燕子有一些东西适合你(这是一个

我想在我的scrapy
items.py
文件中包括一个响应字段,如下所示:

class ScrapyItem(Item):
    title = Field()
    h1 = Field()
    response = Field()
我想我可以在我的
spider.py
文件中使用
response.status
,但每次都会得到
200
状态代码。如果页面被重定向或找不到,我希望用
301
302
404
来填充


在Scrapy中有什么方法可以做到这一点吗?

Scrapy燕子有一些东西适合你(这是一个设计决策)。你需要做两件事:

  • 在spider中,将以下内容写入

    handle\u httpstatus\u list=范围(400427)+范围(500511)

  • 禁用处理3xx状态标题的


  • 现在,您可以从
    response.status
    字段中读取状态。

    如果页面未加载,则不会有任何项目。你只需要一个带有响应代码的URL列表吗?我需要响应代码以及页面上的html元素。我在parse_item方法中加载和解析页面,并通过调用response.status获得响应代码。每次返回200个代码,没有重定向或404。404的html很可能是“未找到页面”页面,没有要解析的项目。302和301响应大多数时候根本没有任何html。关键是,这些页面上没有什么可解析的。如果你想建立一个简单的网站地图(链接响应代码),scrapy不是最好或者最简单的工具。我很担心,你知道有什么好的工具吗?