超时错误: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 中的命令超时

Solana JSON RPC 请求超时

覆盖金字塔/ gunicorn中的请求超时

ios5中的请求超时

每两个请求之一中的 Swift Alamofire “请求超时”

无法将 groupby 数据集转换为 pandas 中的 json [重复]