python - 无法在scrapy中创建json文件
问题描述
我正在尝试将报废的数据保存在 json 文件中。我用scrapy从网络上抓取数据。
这是我的蜘蛛代码。
import scrapy
import json
class QuotesSpider(scrapy.Spider):
name = 'quotes'
allowed_domains = ['quotes.toscrape.com/page/1/']
start_urls = ['http://quotes.toscrape.com/page/1//']
def parse(self, response):
with open('quotes.json', 'a') as f:
for quote in response.css('div.quote'):
json.dump({
'text' : quote.css('span:text::text').extract_first(),
'author': quote.css('small.author::text').extract_first(),
'tags': quote.css('div.tags a.tag::text').extract(),
}, f)
当我执行此命令scrapy crawl quotes
时,它成功完成,但没有创建 json 文件。
请告诉我我在这里缺少什么。
解决方案
您需要在爬网命令中添加一个附加参数,例如:
scrapy crawl quotes -o output.json
json 将保存在执行上述命令的当前文件夹中。
推荐阅读
- html - 如何将 div 容器移动到屏幕中央,子 div 集中在其中
- php - 在 Codeigniter 上的 php 中查询
- amazon-web-services - 使用自定义 DHCP 选项集查询 Route53 私有托管区域
- mongodb - mongodb聚合如果条件 - 如果为真则执行过滤器
- javascript - 纯 JS 仅将类添加到重复元素之一
- java - 如何将文件读入 Arraylist 并在 Java 中打印 ArrayList
- excel - 对除一张以外的所有工作表运行的 Excel 宏
- javascript - 如何使用firebase过滤UTC日期
- python - 如何解决 Plone 中依赖项之间的冲突?
- visualization - 您如何以一种方式表示响应时间和每秒请求数?