【发布时间】:2019-09-19 13:12:38
【问题描述】:
我不知道为什么这个错误不断发生以及如何解决它。
我正在尝试使用 ID(它是股票代码)从我的一个 firestore 集合中取出数据,并通过 for 循环将该 ID 迭代到返回 JSON 数组的 API。
每次我运行这个,大约三分之一的时候我会得到以下错误,首先显示为错误: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)
【问题讨论】:
标签: python json python-requests google-cloud-firestore