Веб-запросы: json .decoder.JSONDecodeError: Ожидаемое значение: строка 1 столбец 1 (символ 0) - PullRequest
0 голосов
/ 01 августа 2020

Я пытаюсь получить данные, используя json запросы к веб-сайту :

import requests

headers = {
        'Connection': 'keep-alive',
        'Accept': 'application/json',
        'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Mobile Safari/537.36',
        'Content-Type': 'application/json',
        'Origin': 'https://dimsum.eu-gb.containers.appdomain.cloud',
        'Sec-Fetch-Site': 'same-origin',
        'Sec-Fetch-Mode': 'cors',
        'Sec-Fetch-Dest': 'empty',
        'Referer': 'https://dimsum.eu-gb.containers.appdomain.cloud/',
        'Accept-Language': 'en-US,en;q=0.9',
    }
    data = f'{{"query":"{query}","filters":{{"year":2020}},"page":{page},"size":10,"sort":null,"sessionInfo":""}}'
    #data = '{"query":"reading comprehension","filters":{},"page":0,"size":10,"sort":null,"sessionInfo":""}'
    print("data:", data)
    response = requests.post('https://dimsum.eu-gb.containers.appdomain.cloud/api/scholar/search', headers=headers, data=data)

Я получаю следующую ошибку:

json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Программа работает, если я использую "filters":{{}}. Я не уверен, как я могу передать ему фильтры и есть ли у него поле с именем «год» или нет. Я не знаю, вызвана ли ошибка синтаксисом или отсутствием поля.

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