2024-06-01 10:05:06 发布
网友
字段名是否可能不符合python变量命名规则?更详细地说,在导出文件中是否可以将字段名作为“职务”而不是“职务”。虽然在JSON或XML导出中可能没有用处,但在以CSV格式导出时,这样的功能可能有用。例如,如果我需要使用此数据导入到另一个系统,该系统已配置为接受具有特定字段名的CSV
试图阅读Item Pipelines文档,但似乎是针对“一个项目被爬行器刮走了”,而不是针对字段名称本身(尽管可能完全错误)
这方面的任何帮助都会非常有用
我建议您使用名为scrapy-jsonschema的第三方库。有了它,您可以像这样定义项目:
scrapy-jsonschema
from scrapy_jsonschema.item import JsonSchemaItem class MyItem(JsonSchemaItem): jsonschema = { "$schema": "http://json-schema.org/draft-04/schema#", "title": "MyItem", "description": "My Item with spaces", "type": "object", "properties": { "id": { "description": "The unique identifier for the employee", "type": "integer" }, "name": { "description": "Name of the employee", "type": "string" }, "job title": { "description": "The title of employee's job.", "type": "string", } }, "required": ["id", "name", "job title"] }
然后像这样填充它:
item = MyItem() item['job title'] = 'Boss'
您可以阅读有关here的更多信息
此解决方案按照您的要求解决项目定义问题,但您可以在不定义项目的情况下获得类似的结果。例如,您可以将数据刮取到dict中,然后将其返回给scrapy
yield { "id": response.xpath('...').get(), "name": response.xpath('...').get(), "job title": response.xpath('...').get(), }
使用scrapy crawl myspider -o file.csv将其刮入csv,列将具有您选择的名称
scrapy crawl myspider -o file.csv
您还可以让爬行器直接写入csv,或者它的管道,等等。有几种方法可以在没有项目定义的情况下完成
我建议您使用名为
scrapy-jsonschema
的第三方库。有了它,您可以像这样定义项目:然后像这样填充它:
您可以阅读有关here的更多信息
此解决方案按照您的要求解决项目定义问题,但您可以在不定义项目的情况下获得类似的结果。例如,您可以将数据刮取到dict中,然后将其返回给scrapy
使用
scrapy crawl myspider -o file.csv
将其刮入csv,列将具有您选择的名称您还可以让爬行器直接写入csv,或者它的管道,等等。有几种方法可以在没有项目定义的情况下完成
相关问题 更多 >
编程相关推荐