搜索

首页  >  问答  >  正文

Scrapy:使用自定义列设置保存为 CSV 的指南

所以基本上我正在从网络上抓取数据,并且我有一个项目文件导入到我的主蜘蛛文件中。现在,当我抓取数据并将其存储在容器中并将其另存为 csv 时,链接列最终总是成为 csv 中的第一列。如何设置自定义列的位置?

pName = response.css('#search .a-size-medium').css('::text').extract()
        pPrice = response.css('#search .a-price-whole').css('::text').extract()
        imgs = response.css('.sbv-product-img , .s-image-fixed-height .s-image').css('::attr(src)').extract()

        for prod in zip(pName , pPrice , imgs):        
            items['prodName'] = prod[0]     
            items['price'] = prod[1]        
            items['imgLink'] = prod[2]      
            
            yield items

P粉576184933P粉576184933275 天前458

全部回复(1)我来回复

  • P粉391677921

    P粉3916779212024-04-05 10:51:21

    使用 settings.py 文件或蜘蛛 custom_settings 属性中的 FEED_EXPORT_FIELDS 设置。这些列将按照您在设置值中设置的顺序排列。

    例如:

    class MySpider(scrapy.Spider):
    
        custom_settings = {
            "FEED_EXPORT_FIELDS": ["prodName", "price", "imgLink"]
        }
    

    或在settings.py中:

    FEED_EXPORT_FIELDS=["prodName", "price", "imgLink"]
    

    scrapy 文档链接link2

    回复
    0
  • 取消回复