我有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))
答案 0 :(得分:0)
在函数上放置重试装饰器。我有一个类似的问题,我通过循环解决,直到我得到网页。