我正在尝试运行一个网络抓取,确实使用beautifulSoup和循环在不同的页面。但是,经过2-6次迭代后,requests.get(url)挂起并停止查找下一页。我读到它可能会在服务器被阻塞的情况下做一些事情,但是这会阻止原始的请求,并且它还说在线确实允许网络抓取。我也听说过我应该设置一个头球,但我不知道该怎么做。我正在运行最新版本的safari和MacOS12.4。
发布于 2022-06-29 14:03:18
我想出了一个解决方案,认为这并没有具体地回答这个问题,那就是使用try expect语句并为请求设置一个超时值。达到超时值后,它将输入timeout语句,设置一个布尔值,然后继续循环,然后重试。下面插入了代码。
while(i < 10):
url = get_url('software intern', '', i)
print("Parsing Page Number:" + str(i + 1))
error = False
try:
response = requests.get(url, timeout = 10)
except requests.exceptions.Timeout as err:
error = True
if error:
print("Trying to connect to webpage again")
continue
i += 1
但是,我现在还没有回答这个问题,因为我仍然不知道这个问题的根源,这个解决方案只是一个解决办法。
https://stackoverflow.com/questions/72801664
复制相似问题