Web scraping 有没有一种方法可以使用scrapy将每个被刮到单独json文件中的条目导出?
目前,我在刮取每一个项目后都使用“屈服项目”,尽管它将所有项目都放在一个Json文件中。您可以使用,并且可以从那里将每个Web scraping 有没有一种方法可以使用scrapy将每个被刮到单独json文件中的条目导出?,web-scraping,scrapy,Web Scraping,Scrapy,目前,我在刮取每一个项目后都使用“屈服项目”,尽管它将所有项目都放在一个Json文件中。您可以使用,并且可以从那里将每个项目插入单独的文件中 我在spider中设置了一个计数器,使其在每个项目产量上递增,并将该值添加到项目。使用该计数器值,我正在创建文件名 测试\u spider.py class TestSpider(Spider): # spider name and all file_counter = 0 def parse(self, response): #
项目插入单独的文件中
我在spider中设置了一个计数器
,使其在每个项目产量上递增,并将该值添加到项目
。使用该计数器
值,我正在创建文件名
测试\u spider.py
class TestSpider(Spider):
# spider name and all
file_counter = 0
def parse(self, response):
# your code here
def parse_item(self, response):
# your code here
self.file_counter += 1
item = Testtem(
#other items,
counter=self.file_counter)
yield item
class TestPipeline(object):
def process_item(self, item, spider):
with open('test_data_%s' % item.get('counter'), 'w') as wr:
item.pop('counter') # remove the counter data, you don't need this in your item
wr.write(str(item))
return item
通过在settings.py中启用pipeline
ITEM_PIPELINES = {'test1.pipelines.TestPipeline': 100}
管道。py
class TestSpider(Spider):
# spider name and all
file_counter = 0
def parse(self, response):
# your code here
def parse_item(self, response):
# your code here
self.file_counter += 1
item = Testtem(
#other items,
counter=self.file_counter)
yield item
class TestPipeline(object):
def process_item(self, item, spider):
with open('test_data_%s' % item.get('counter'), 'w') as wr:
item.pop('counter') # remove the counter data, you don't need this in your item
wr.write(str(item))
return item