Python Scrapy - 输出 XML 个同名元素

Python Scrapy - output XML elements with same name

我的目标是生成如下所示的 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'),
        [