我刚开始使用Python来抓取数据。但是我的代码如下所示在工作期间冻结,我猜这是因为某些网址没有响应任何内容;我想如果我再试一次这个网址会有用。我的问题是,如果我只修改代码, reshomee = requests.get(homeUrl,headers = headerss,timeout = 10) 然后这段代码在10秒后再次尝试该URL而没有响应?我只是担心如果不再尝试就会结束......? 我忍不住问这个,因为我不知道如何尝试这个代码,因为url冻结非常罕见和随机。谢谢!
def reshome(tries=0):
try:
reshomee = requests.get(homeUrl, headers=headerss)
return reshomee
except Exception as e:
print(e)
if tries < 10:
print('try:' + str(tries))
sleep(tries*30+100)
return reshome(tries+1)
else:
print('cannot make it')
答案 0 :(得分:0)
您可以在模块中使用requests.exceptions。
def reshome(tries=0):
try:
reshomee = requests.get(homeUrl, headers=headerss, timeout=0.001)
return reshomee
except requests.exceptions.Timeout as e:
return reshome(tries+1)