Я заблудился относительно того, почему эта ошибка продолжает происходить и как ее решить.
Я пытаюсь извлечь данные из одной из моих коллекций пожарных хранилищ, используя идентификатор (который является биржевым тикером) и повторяю этот идентификатор через цикл for в API, который возвращает массив JSON.
Каждый раз, когда я запускаю это, примерно на одной трети пути я получаю следующую ошибку, сначала показывая как Ошибка: 404 , затем отображает следующее:
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Сценарий работает для первой трети данных, но если я удаляю элементы в коллекции, где находится ошибка, это не решает проблему, поэтому я не думаю, что это связано с элементом в док, на котором он приземлился.
Я что-то упустил?
Я пытался вставить исключение для ошибки 404, но либо я его плохо реализовал, либо это не решило проблему.
import requests
import json
import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore
import datetime
cred = credentials.Certificate("./serviceAccountKey.json")
firebase_admin.initialize_app(cred)
db = firestore.client()
doc_ref1 = db.collection(u'Quiver').stream()
for doc in doc_ref1:
symbol = doc.id
api_url = "https://api.iextrading.com/1.0/stock/{}/company".format(symbol)
query_url = api_url
r = requests.get(query_url)
if r.status_code != 200:
print("Error:", r.status_code)
if r.status_code == 404:
print("Error:", r.status_code)
json_stock = r.json()
symbol = json_stock['symbol']
companyName = json_stock['companyName']
exchange = json_stock['exchange']
industry = json_stock['industry']
website = json_stock['website']
description = json_stock['description']
CEO = json_stock['CEO']
issueType = json_stock['issueType']
sector = json_stock['sector']
tags = json_stock['tags']
updateTime = datetime.datetime.now()
doc_ref = db.collection(u'Quiver').document(u'{}'.format(symbol))
doc_ref.set({
u'symbol':u'{}'.format(symbol),
u'Company Name':u'{}'.format(companyName),
u'Exchange':u'{}'.format(exchange),
u'Industry':u'{}'.format(industry),
u'Website':u'{}'.format(website),
u'Description':u'{}'.format(description),
u'Issue Type':u'{}'.format(issueType),
u'Sector':u'{}'.format(sector),
u'Tags':u'{}'.format(tags),
u'Last Update Time':u'{}'.format(updateTime)
})
#docs = doc_ref.get({u'summary'})
print(symbol)