gpt4 book ai didi

python - 如何使用 Scrapy 在一个文件中维护项目的字段名称?

转载 作者:行者123 更新时间:2023-11-28 19:20:01 26 4
gpt4 key购买 nike

在scrapy中,涉及到很多Item的字段名的写法。

<强>1。项目类(Items.py)

class HelloItem(scrapy.Item):
Name = scrapy.Field()
Address = scrapy.Field()
...

<强>2。蜘蛛类(spider.py)

class HelloSpider(scrapy.Spider):

def parse(self, response):
item = HelloItem()
item["Name"] = ...
item["Address'] = ...
...

<强>3。设置.py

EXPORT_FIELDS = ["Name", "Address", ...]

我在 settings.py 中定义了 EXPORT_FIELDS 设置,用于定义自定义 CSV 项目管道的字段排序。 CSV 管道代码类似于 this ,除了 self.exporter.fields_to_exportsettings.getlist("EXPORT_FIELDS") 加载。


您可以看到我必须在三个地方定义字段名称(名称、地址等)。如果有一天我必须重命名一些字段名称,我必须在这三个文件中更改它们。

那么有没有办法将 Item 的字段名称定义统一在一个文件中? (或者两个文件也可以,少总比没有好)

最佳答案

可以根本不使用项目,而是生成字典。这样,您就根本不需要 items.py

但是,随着项目的增长,建议定义一个 Item 子类,您提到的重复是较小的弊端

由于定义了一个项目,当您尝试在其中一个蜘蛛中抓取一个拼写错误的项目字段时,您会收到一条错误消息。

项目类还允许您使用 item loaders .

关于python - 如何使用 Scrapy 在一个文件中维护项目的字段名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27668810/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com