Scrapy爬取数据可终端显示但无法保存为JSON文件,求解决方法
Scrapy导出JSON为空文件的原因及解决方法
你的问题核心原因是Spider的parse方法没有输出可被Scrapy捕获的数据:
- Scrapy要将数据导出到文件,要求parse方法返回(或yield)可迭代的数据对象,比如字典、Scrapy Item实例。你当前的代码仅将title文本赋值给
price变量,但没有把这个数据传递给Scrapy的数据处理管道,因此导出的JSON文件为空。
修复后的代码示例:
import scrapy class ZillowSpider(scrapy.Spider): name = "zillow" start_urls = [ "https://quotes.toscrape.com/" ] def parse(self, response): title = response.css("title::text").get() # 通过yield输出数据,让Scrapy捕获并导出 yield { 'title': title }
修改后重新执行命令scrapy crawl zillow -o output.json,就能得到包含title内容的JSON文件了。
内容的提问来源于stack exchange,提问作者SolidOpt
相关产品推荐
相关产品推荐

