作为熟悉Scrapy的学习实验,我正在编写一个Scraper,它检查HTML页面的所有链接,并报告指向它们的HTTPHEAD请求的状态代码。事实上,在我的一个条目定义中,我有一个条目字段,即parent_url
,被视为元数据,也就是说,我并不想在Scraper的输出中显示它。在
parent_url
在LinkItem
类中定义,如下所示:
class LinkItem(Item):
name = Field()
url = Field()
parent_url = Field() # Identifies what URL this item was extracted from
status_code = Field()
为了从Spider的输出中省略parent_url
,我尝试了:
__init__
中的parent_url
定义为实例属性-我在尝试访问它时引发了异常__init__
内赋值给self["parent_url"]
,但是正如文档Scrapy已经指出的那样,不允许分配给未声明的字段Field(serializer=None)
或{parent_url
,这会在抓取时产生连续的异常,并且JSON输出只有逗号。在由于还没有找到解决办法,我正在寻求外部帮助。parent_url
字段/属性在管道内部使用,我不知道用什么替代它。在
BaseItemExporter
是所有内置导出器的基本抽象类,它提供了一个带有要导出的字段名列表的fields_to_export属性。这是医生说的,我很惊讶我以前没注意到。在您可以指定字段,这些字段应该通过FEED_EXPORT_FIELDS设置导出。例如:
相关问题 更多 >
编程相关推荐