Scrapy-如何定义csv导出的结构(列等)

Scrapy-如何定义csv导出的结构(列等),scrapy,export-to-csv,Scrapy,Export To Csv,我对scrapy很陌生,我想知道如何设置csv导出的结构。在下面的例子中,我有两种数据:ID和链接 下面是我正在使用的简单代码: class MybotSpider(scrapy.Spider): name = 'mybot' start_urls = ['url'] def parse(self, response): all_dataids = response.css('li::attr(data-id)').extract() a

我对scrapy很陌生,我想知道如何设置csv导出的结构。在下面的例子中,我有两种数据:ID和链接

下面是我正在使用的简单代码:

class MybotSpider(scrapy.Spider):
    name = 'mybot'
    start_urls = ['url']

    def parse(self, response):
        all_dataids = response.css('li::attr(data-id)').extract()
        all_links = response.xpath('//a[contains(@class, "js_clickable")]/@href').extract()

        adlist = SpiderItem()
        adlist['dataid'] = all_dataids
        adlist['link'] = all_links
        yield adlist
但我的出口是这样的:

相反,我希望导出时每个id对应href,并以行分隔:


以这种方式制作屈服项:

def parse(self, response):
    all_dataids = response.css('li::attr(data-id)').extract()
    all_links = response.xpath('//a[contains(@class, "js_clickable")]/@href').extract()

    for link, dataid in zip(all_links, all_dataids):
        adlist = SpiderItem()
        adlist['dataid'] = dataid
        adlist['link'] = link
        yield adlist

这里您将
zip
数组压缩到
((link,dataid),(link,dataid),(link,dataid),…)
,然后逐个生成它们。所以它应该会给你想要的输出。

我想我试过这个,但实际上,它工作得很好,非常感谢你对vezunchik的帮助