Scrapy building JSON словари: "TypeError: можно объединить только str (не" set ") в str" - PullRequest
0 голосов
/ 20 апреля 2020

Я выполняю паук ниже для академических c целей на данных о живом трафике tomtom c. Данные извлекаются из базового JSON, например: https://api.midway.tomtom.com/ranking/live/ITA_milan

Я хочу просканировать несколько городов и создать словарь, например:

{'Amsterdam': {'var1': value1, 'var2': value2}, 'Brussels': {'var1', value1 (...)}}

Это мой паук пока что дает мне

TypeError: можно только объединить str (не "set") в str

Что я могу сделать, чтобы получить желаемую структуру в словаре? Я продолжаю возвращаться к тем основным вопросам, к сожалению. Я все еще учу python с нуля. Ура Марчелло

# -*- coding: utf-8 -*-
import scrapy
import json
import requests
import datetime
from scrapy.spiders import Spider

data = {}

class TomSpiderSpider(scrapy.Spider):
    name = 'tom_spider'
    allowed_domains = ['tomtom.com']
    start_urls = ['https://api.midway.tomtom.com/ranking/live/']

    def start_requests(self):
        data['city'] = {'FRA_paris', 'london-traffic', 'berlin-traffic', 'amsterdam-traffic', 'brussels-traffic',
                        'frankfurt-am-main-traffic'}
        url = 'https://api.midway.tomtom.com/ranking/live/' + data['city']
        yield scrapy.Request(url=url, callback=self.parse, meta = {'item': data})

    def parse(self, response):
        jsonresponse = json.loads(response.body_as_unicode())
        data = response.meta['item']
        data["content"] = jsonresponse["data"]

        yield data
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...