2014-11-12 1 views
2

Я использую scrapy для получения содержимого некоторых веб-страниц. Есть ли способ настроить scrapy, чтобы он экспортировал каждый dataline в отдельный файл?Экспортировать объекты scrap в один файл за элемент

+0

Вы имеете в виду каждый экземпляр 'item' в отдельный файл? – alecxe

+0

@alecxe да, я имею в виду каждый пункт – paweloque

ответ

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) 
Смежные вопросы