首页 > 解决方案 > 无法在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 文件。

请告诉我我在这里缺少什么。

标签: pythonpython-3.xweb-scrapingscrapy

解决方案


您需要在爬网命令中添加一个附加参数,例如:

scrapy crawl quotes -o output.json

json 将保存在执行上述命令的当前文件夹中。


推荐阅读