Scrapy - 将 Feed Exporter Overwrite 设置为 True

问题描述 投票:0回答:1

我开发了一个Scrapy蜘蛛,我想在不使用命令行的情况下执行它。这就是我使用

CrawlerProcess
的原因。我还希望将输出保存到 json 文件中。 Feed 导出器 在我的情况下是完美的,我能让它们工作的唯一方法就是通过这种方式更新设置:

from scraper.spiders.pp_spider import ConverterSpider
import scrapy
from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings

settings = get_project_settings()
settings.set('FEED_FORMAT', 'json')
settings.set('FEED_URI', 'result.json')

process = CrawlerProcess(settings)

process.crawl(ConverterSpider)
process.start()

现在我想在执行新的爬网时覆盖输出文件 result.json 。您通常执行的方式不适用于 CrawlerProcess(示例):

FEEDS = { 
    'result.json': {'format': 'json', 'overwrite': True} 
}

我想知道如何做这样的事情:

settings.set('overwrite', True)
python scrapy export
1个回答
0
投票

我的爸爸,解决方案非常简单(如 wRAR 建议的那样):

settings = get_project_settings()

settings['FEEDS'] = { 
    'result.json': {'format': 'json', 'overwrite': True} 
}

process = CrawlerProcess(settings)
© www.soinside.com 2019 - 2024. All rights reserved.