Python Scrapy-输出具有相同名称的XML元素



我的目标是生成如下的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没有任何好的经验,但根据提供的来源,你似乎正在生成一本字典。字典不能包含多个同名项。提供的代码的最佳选项是:

  1. 逐个生成每个image_link
  2. 或者(如果您需要在一次迭代中生成所有结果(将其生成为类似于集合列表的东西
yield  [
('addional_image_links', 'test1'),
('addional_image_links', 'test2'),
('addional_image_links', 'test3'),
[

最新更新