我的目标是生成如下的XML:
<addional_image_links>test1</addional_image_links>
<addional_image_links>test2</addional_image_links>
<addional_image_links>test3</addional_image_links>
我的刮伤结果是这样的:
yield {
'addional_image_links': 'test1',
'addional_image_links': 'test2',
'addional_image_links': 'test3',
}
然而,实际结果只是第一个:
<addional_image_links>test1</addional_image_links>
如果我更改元素名称,它会起作用:
yield {
'addional_image_links_1': 'test1',
'addional_image_links_2': 'test2',
'addional_image_links_3': 'test3',
}
然而,我需要每个输出的元素都有相同的名称。
我对scrapy没有任何好的经验,但根据提供的来源,你似乎正在生成一本字典。字典不能包含多个同名项。提供的代码的最佳选项是:
- 逐个生成每个image_link
- 或者(如果您需要在一次迭代中生成所有结果(将其生成为类似于集合列表的东西
yield [
('addional_image_links', 'test1'),
('addional_image_links', 'test2'),
('addional_image_links', 'test3'),
[