【问题标题】:how to export data to csv file in specific order如何按特定顺序将数据导出到 csv 文件
【发布时间】:2019-11-25 12:45:58
【问题描述】:

我找到了几个关于如何通过覆盖类OrderItem以特定顺序提取数据的解决方案

class OrderedItem(scrapy.Item):
    def __init__(self, *args, **kwargs):
        self._values = OrderedDict()
        if args or kwargs:
            for k, v in six.iteritems(dict(*args, **kwargs)):
                self[k] = v

我有更多正在提取的数据,而且每次的顺序都不同 def repr(自我): 返回 json.dumps(OrderedDict(self), ensure_ascii = False)

class NewItem(OrderedItem):
    title = scrapy.Field()
    price = scrapy.Field()

然后在爬虫脚本中,我定义了一个NewItem对象的实例

def parse(self, response):
        items = NewItem()
        items['title'] = response.xpath(
"//span[@class='pdp-mod-product-badge-title'/text()").extract_first()
        items['price'] = response.xpath("//span[contains(@class, 'pdp-price')]/text()").extract_first()

        yield items

【问题讨论】:

    标签: python scrapy


    【解决方案1】:

    您需要在settings.py中定义您的订单:

    FEED_EXPORT_FIELDS = ["title", "price"]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-25
      • 1970-01-01
      • 1970-01-01
      • 2023-01-18
      • 2019-04-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多