每个项目将scrapy对象导出到一个文件中

时间:2014-11-12 20:21:36

标签: python web-scraping scrapy

我正在使用scrapy来获取某些网页的内容。有没有办法配置scrapy,以便将每个数据输出到一个单独的文件?

1 个答案:

答案 0 :(得分:3)

您可以在蜘蛛中生成项目,以返回要在管道中处理的多个项目。

class SomeSpider(Spider):

  ...

  def parse(self, response):
    # some code to parse the webpage

    for some_line in webpage:
        item = YourItem()
        # parse items

        yield item

这将为一个已删除的页面返回多个项目。然后只需指定管道将每个项目写入单独的文件。

class SomePipeline(object):

  ...      

  def process_item(self, item, spider):
      with open('file.txt', 'w') as f:

          # format your item into a line here

          f.write(line)