JSONDecodeError: ожидаемое значение: строка 1 столбец 1 (символ 0) - не работает на Python 3.8

Привет, я только начал использовать Python 3.8, и у меня ошибка в последней строке. Он отлично работает на Python 3.6. Как я могу заставить его работать на Python 3.6?

в raw_decode поднять JSONDecodeError("Ожидаемое значение", s, err.value) из Нет json.decoder.JSONDecodeError: Ожидаемое значение: строка 1 столбец 1 (символ 0)

import requests
import urllib.request, urllib.parse
from bs4 import BeautifulSoup
import json
user = "travel.like.this"
url = 'https://www.instagram.com/' + user
req = urllib.request.Request(url)
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36')
html = urllib.request.urlopen(req).read()
response = BeautifulSoup(html, 'html.parser')
jsonObject = response.select("body > script:nth-of-type(1)")[0].text.replace('window._sharedData =','').replace(';','')
data = json.loads(jsonObject)

1 ответ

может быть в python 3.8, requestsбиблиотека not handling the empty responseи его закодировано, чтобы вызвать ошибку, когда он пуст.

эта ошибка: JSONDecodeError: Expecting value: line 1 column 1 (char 0)

потому что ответ json empty, это voidнить. ----> b''

(я не видел json, но я предполагаю, что он пуст, и поэтому возникает ошибка)

из моего опыта:

      import requests

response = requests.get("https://my_static_website.com/")
print(response.status_code) # 200
print(response.json())

вне

      200

JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Другие вопросы по тегам