【发布时间】:2017-08-18 19:40:42
【问题描述】:
我以 json 格式输出抓取的数据。 默认的 scrapy 导出器以 json 格式输出 dict 列表。 项目类型如下:
[{"Product Name":"Product1", "Categories":["Clothing","Top"], "Price":"20.5", "Currency":"USD"},
{"Product Name":"Product2", "Categories":["Clothing","Top"], "Price":"21.5", "Currency":"USD"},
{"Product Name":"Product3", "Categories":["Clothing","Top"], "Price":"22.5", "Currency":"USD"},
{"Product Name":"Product4", "Categories":["Clothing","Top"], "Price":"23.5", "Currency":"USD"}, ...]
但我想以这样的特定格式导出数据:
{
"Shop Name":"Shop 1",
"Location":"XXXXXXXXX",
"Contact":"XXXX-XXXXX",
"Products":
[{"Product Name":"Product1", "Categories":["Clothing","Top"], "Price":"20.5", "Currency":"USD"},
{"Product Name":"Product2", "Categories":["Clothing","Top"], "Price":"21.5", "Currency":"USD"},
{"Product Name":"Product3", "Categories":["Clothing","Top"], "Price":"22.5", "Currency":"USD"},
{"Product Name":"Product4", "Categories":["Clothing","Top"], "Price":"23.5", "Currency":"USD"}, ...]
}
请告诉我任何解决方案。 谢谢。
【问题讨论】:
-
您希望从哪里获得
Shop Name、Location...?你每次都要手动定义吗? -
不,我在蜘蛛开始运行时收到它作为参数。
-
那你能告诉我们更多关于如何接收和定义参数的信息吗?你的一些代码会有所帮助。
-
我还没有实现它。我要读取 csv 文件存储参数列表。
-
所以
{"Product Name":"Product1", "Categories":["Clothing","Top"], "Price":"20.5", "Currency":"USD"}会是一个scrapy 项目,对吧?并且您想在最终文件中包含Shop Name, Location, etc.?