Python-Web抓取-请求-操作系统错误ETIMEDOUT
我正在尝试刮取网站,但收到以下错误:Python-Web抓取-请求-操作系统错误ETIMEDOUT,python,web-scraping,Python,Web Scraping,我正在尝试刮取网站,但收到以下错误: ('Connection aborted.', OSError("(60, 'ETIMEDOUT')",)) 我试图在response.get()中更改timeout=None,但仍然收到错误 鉴于下面的代码,我应该如何处理上述错误?由于某些原因,只有当我尝试刮取该url时才会出现此错误,其他所有错误对我来说都很好 下面的代码是根据的建议 我还尝试了重试机制,但没有成功,正如建议的那样: 如果正常浏览工作正常,我建议查看网络检查器,看看发送了什么标题。也许
('Connection aborted.', OSError("(60, 'ETIMEDOUT')",))
我试图在response.get()中更改timeout=None,但仍然收到错误
鉴于下面的代码,我应该如何处理上述错误?由于某些原因,只有当我尝试刮取该url时才会出现此错误,其他所有错误对我来说都很好
下面的代码是根据的建议
我还尝试了重试机制,但没有成功,正如建议的那样:
如果正常浏览工作正常,我建议查看网络检查器,看看发送了什么标题。也许你也需要在
请求中设置它们。网站的URL是什么?正常的浏览工作,是没有设置标题。谢谢标题究竟是如何工作的@AndrejKesely@steich标头是HTTP协议()的一部分,它们随每个请求和响应一起发送。对于请求
,您只需以请求.get(url,headers={…})的形式提供它们
# Import packages
import requests
from bs4 import BeautifulSoup
#Input URL
url = "https://www...."
# Try requests.get()
try:
r = requests.get(url)
except requests.ConnectionError as e:
print("OOPS!! Connection Error. Make sure you are connected to Internet. Technical Details given below.\n")
print(str(e))
except requests.Timeout as e:
print("OOPS!! Timeout Error")
print(str(e))
except requests.RequestException as e:
print("OOPS!! General Error")
print(str(e))
except KeyboardInterrupt:
print("Someone closed the program")
for i in range(0,10):
while True:
try:
r = requests.get(url)
except requests.ConnectionError as e:
print("OOPS!! Connection Error. Make sure you are connected to Internet. Technical Details given below.\n")
print(str(e))
continue
break