在Scrapy中,可以使用不同的方法來導出數據。以下是一些常用的方法:
scrapy crawl spider_name -o output.json
scrapy crawl spider_name -o output.csv
FEED_FORMAT = 'json'
FEED_URI = 'output.json'
class MyPipeline:
def open_spider(self, spider):
self.file = open('output.json', 'w')
def process_item(self, item, spider):
line = json.dumps(dict(item)) + '\n'
self.file.write(line)
return item
def close_spider(self, spider):
self.file.close()
然后在settings.py中啟用該Pipeline:
ITEM_PIPELINES = {
'myproject.pipelines.MyPipeline': 300,
}
from scrapy.exporters import XmlItemExporter
class MyXmlExporterPipeline:
def open_spider(self, spider):
self.file = open('output.xml', 'wb')
self.exporter = XmlItemExporter(self.file)
self.exporter.start_exporting()
def process_item(self, item, spider):
self.exporter.export_item(item)
return item
def close_spider(self, spider):
self.exporter.finish_exporting()
self.file.close()
然后在settings.py中啟用該Pipeline:
ITEM_PIPELINES = {
'myproject.pipelines.MyXmlExporterPipeline': 300,
}
以上是一些常用的方法來使用Scrapy進行數據導出,具體可以根據需求選擇合適的方法來導出數據。