我正在嘗試學習使用 Python Tk inter 制作 Scrapy Desktop 應用程式。所以,我正在嘗試使用 Python Tkinter 運行這個預構建的 Scrapy 桌面應用程式。保存輸出時,“FEEDS”出現問題。下面提到的功能確實通過選擇特定的擴展名并將其保存到特定位置來保存輸出檔案。該腳本是基于最高 1.8 的 Scrapy 版本開發的。所以在 Scrapy 2.X 版中,'FEED_URI & 'FEED_FORMAT'不起作用,因為它們已被替換為“FEEDS”。
def execute_spider():
if dataset_entry.get() == '' or chosen_feed not in ['CSV', 'JSON']:
messagebox.showerror('Error', 'All entries are required')
return
try:
feed_uri = f'file:///{folder_path}/{dataset_entry.get()}.{chosen_feed}'
except:
messagebox.showerror('Error', 'All entries are required')
settings = project.get_project_settings()
settings. Set('FEED_URI', feed_uri)
settings. Set('FEED_FORMAT', chosen_feed)
configure_logging()
runner = CrawlerRunner(settings)
runner.crawl(chosen_spider)
reactor.run(installSignalHandlers=False)
要查看完整的腳本,您也可以訪問這里
那么,我怎樣才能使用 'FEEDS' 而不是這些特定的 2 行呢?
settings. Set('FEED_URI', feed_uri)
settings. Set('FEED_FORMAT', chosen_feed)
uj5u.com熱心網友回復:
你會改為使用
settings.set("FEEDS", {
feed_uri: {
'format': chosen_format,
'encoding': 'utf8'
}
})
并包括任何其他適當的設定。
有關可用選項,請參閱 scrapy 檔案: FEEDS
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/527595.html
上一篇:移動多個物件
