超时错误:Pandas 中的 JSON 请求
Posted
技术标签:
【中文标题】超时错误:Pandas 中的 JSON 请求【英文标题】:Timeout Error: JSON Requests in Pandas 【发布时间】:2017-09-27 07:28:41 【问题描述】:我有 25000 个条目的 pandas 数据框,在一列中我有所有 URL。 我要做的是为所有这些 URL 检索 JSON。 由于简单循环会导致超时错误,因此实现此目的的有效方法是什么? 此外,我也尝试过使用 time.sleep() 但无济于事。然后发生的事情是读取了一些行而没有读取一些行。
import time
def get_reviews(review):
reviews = []
try:
response = requests.get(review)
json_data = response.json()
for j in json_data:
if j['language'] == 'en':
reviews.append(j['text'])
except:
time.sleep(2)
return reviews
batch_size = 20
start = 0
end = 10
for epoch in range(int(data.shape[0]/batch_size)):
data['reviews'][start:end] = data['reviews'][start:end].apply(get_reviews)
start += batch_size
end += batch_size
print(data.head(30))
【问题讨论】:
【参考方案1】:在函数上放置一个重试装饰器。我有一个类似的问题,我通过循环直到我得到网页来解决。
http://winstonlarson.com/scraping-timeouts
【讨论】:
以上是关于超时错误:Pandas 中的 JSON 请求的主要内容,如果未能解决你的问题,请参考以下文章
从 Dockerrun.aws.json -AWS 增加 EBS 中的命令超时