Qyouu
我建议您使用名为scrapy-jsonschema. 有了它,您可以像这样定义您的项目:from scrapy_jsonschema.item import JsonSchemaItemclass 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'您可以在此处阅读更多信息。该解决方案按照您的要求处理 Item 定义,但您无需定义 Item即可获得类似的结果。例如,您可以将数据抓取到字典中并将其返回给 scrapy。yield { "id": response.xpath('...').get(), "name": response.xpath('...').get(), "job title": response.xpath('...').get(),}这样scrapy crawl myspider -o file.csv就可以抓取到一个 csv 中,并且列将具有您选择的名称。您也可以让蜘蛛直接写入 csv,或者它的管道等。有几种方法可以在没有 Item 定义的情况下完成。