Python 将重定向存储在碎片项目中
我想在我的scrapyPython 将重定向存储在碎片项目中,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燕子有一些东西适合你(这是一个
items.py
文件中包括一个响应字段,如下所示:
class ScrapyItem(Item):
title = Field()
h1 = Field()
response = Field()
我想我可以在我的spider.py
文件中使用response.status
,但每次都会得到200
状态代码。如果页面被重定向或找不到,我希望用301
、302
或404
来填充
在Scrapy中有什么方法可以做到这一点吗?Scrapy燕子有一些东西适合你(这是一个设计决策)。你需要做两件事:
handle\u httpstatus\u list=范围(400427)+范围(500511)
现在,您可以从
response.status
字段中读取状态。如果页面未加载,则不会有任何项目。你只需要一个带有响应代码的URL列表吗?我需要响应代码以及页面上的html元素。我在parse_item方法中加载和解析页面,并通过调用response.status获得响应代码。每次返回200个代码,没有重定向或404。404的html很可能是“未找到页面”页面,没有要解析的项目。302和301响应大多数时候根本没有任何html。关键是,这些页面上没有什么可解析的。如果你想建立一个简单的网站地图(链接响应代码),scrapy不是最好或者最简单的工具。我很担心,你知道有什么好的工具吗?