scrapy 使用custom_settings中的FEED_URI参数零星导出到JSON

xnifntxz  于 2022-11-09  发布在  其他
关注(0)|答案(2)|浏览(114)

下面是代码的开始部分:

class GetId(scrapy.Spider):

    name = "get_id"

    path = expanduser("~").replace('\\', '/') + '/dox/Getaround/'

    days = [0, 1, 3, 7, 14, 21, 26, 31]

    dates = []

    previous_cars_list = []

    previous_cars_id_list = []

    crawled_date = datetime.today().date()

    for day in days:
        market_date = crawled_date + timedelta(days=day)
        dates.append(market_date)

    # Settings
    custom_settings = {
        'ROBOTSTXT_OBEY' : False,
        'DOWNLOAD_DELAY' : 5,
        'CONCURRENT_REQUESTS' : 1,
        'CONCURRENT_REQUESTS_PER_DOMAIN': 1,
        'AUTOTHROTTLE_ENABLED' : True,
        'AUTOTHROTTLE_START_DELAY' : 5,
        'LOG_STDOUT' : True,
        'LOG_FILE' : path + 'log_get_id.txt',
        'FEED_FORMAT': 'json',
        'FEED_URI': path + 'cars_id.json',
    }

我在2年前就这样做了,没有任何问题。现在,一旦我在Anaconda控制台中输入“scrapy crawl get_id”,只有日志文件被导出,而不是包含数据的json。在日志文件中,出现了以下错误:
2022-08-25 15:14:48 [零碎.扩展.feedexport]错误:未知的摘要存储方案:C语言
你知道怎么处理吗?谢谢

kkih6yb8

kkih6yb81#

我不知道它是什么版本的,但是我总是使用FEEDS设置,或者在settings.py文件中,或者使用自定义设置类属性,就像你在例子中使用的那样。
例如:


# Settings

 custom_settings = {
    'ROBOTSTXT_OBEY' : False,
    'DOWNLOAD_DELAY' : 5,
    'CONCURRENT_REQUESTS' : 1,
    'CONCURRENT_REQUESTS_PER_DOMAIN': 1,
    'AUTOTHROTTLE_ENABLED' : True,
    'AUTOTHROTTLE_START_DELAY' : 5,
    'LOG_STDOUT' : True,
    'LOG_FILE' : path + 'log_get_id.txt',
    'FEEDS': {                            # <-- added this
        path + 'cars_id.json':{
             'format': 'json',
             'encoding': 'utf-8'
         }
     }
}

您可以在www.example.com上找到所有可以设置的字段https://docs.scrapy.org/en/latest/topics/feed-exports.html#feeds

dfty9e19

dfty9e192#

刮擦2.1.0(2020年4月24日)
不推荐使用FEED_FORMAT和FEED_URI设置,而推荐使用新的FEEDS设置(问题1336、问题3858和问题4507)。
https://docs.scrapy.org/en/latest/news.html?highlight=FEED_URI#id30
在这种情况下,有两个选项可以使用旧版本的Scrapy,例如:

pip uninstall Scrapy
pip install Scrapy==2.0

或使用FEEDS;您可以在www.example.com阅读更多信息https://docs.scrapy.org/en/latest/topics/feed-exports.html#feeds

相关问题