Python 用代码设置输出文件
我将scrapy与python结合使用 我可以在cmd中设置输出json文件。但现在我需要在代码中这样做 我试过这个: 在背景中 蜘蛛侠 注 我正在开发一个简单的spider,所以我只需要物品导出器,不需要创建任何物品管道Python 用代码设置输出文件,python,python-2.7,scrapy,Python,Python 2.7,Scrapy,我将scrapy与python结合使用 我可以在cmd中设置输出json文件。但现在我需要在代码中这样做 我试过这个: 在背景中 蜘蛛侠 注 我正在开发一个简单的spider,所以我只需要物品导出器,不需要创建任何物品管道 感谢您的帮助答案可以在Scrapy文档中的一个示例中找到。通过编写正确的项目管道,可以输出为任何格式,如下所示: import json class JsonWriterPipeline(object): def __init__(self): s
感谢您的帮助答案可以在Scrapy文档中的一个示例中找到。通过编写正确的项目管道,可以输出为任何格式,如下所示:
import json
class JsonWriterPipeline(object):
def __init__(self):
self.file = open('items.jl', 'wb')
def process_item(self, item, spider):
line = json.dumps(dict(item)) + "\n"
self.file.write(line)
return item
请注意,您还必须在默认的Scrapy项目设置文件中包含此管道。是否找到了此管道?@Dagrooms是的,但实际上我现在不记得了,因为我使用的管道将数据写入文件系统中的JSON文件和云上的数据库。没问题,我让我的工作,但我需要的xml格式无论如何。
def __init(self):
settings.overrides['FEED_URI'] = 'output.json'
import json
class JsonWriterPipeline(object):
def __init__(self):
self.file = open('items.jl', 'wb')
def process_item(self, item, spider):
line = json.dumps(dict(item)) + "\n"
self.file.write(line)
return item