Когда ответ большой, первое чтение может вернуть только то, что доступно в то время . Если вы хотите быть уверены, что у вас есть полные данные, вы должны l oop читать, пока не получите ничего (пустая байтовая строка здесь).
Здесь, вероятно, было бы более надежным передавать поток ответа на json.load
и оставьте его читать до тех пор, пока не будет завершена строка json:
with urllib.request.urlopen(
"https://financialmodelingprep.com/api/v3/company/stock/list") as url:
data = json.load(url)
print(data)
Но я думаю, что если данные были частичными, json.loads
должен был бы подавиться ими. Так что проблема, вероятно, в другом месте ...