我正在尝试访问一个网页。我尝试使用“ UserAgent”添加标头,但是出现超时错误: 我的新代码:
from fake_useragent import UserAgent
import requests
url = "https://www.bestbuy.com/site/lg-65-class-oled-b9-series-2160p-smart-4k-uhd-tv-with-hdr/6360611.p?skuId=6360611"
ua = UserAgent()
print(ua.chrome)
header = {'User-Agent':str(ua.chrome)}
print(header)
url_get = requests.get(url, headers=header)
print(url_get)
-> 285引发SocketError(str(e)) 286,除了OpenSSL.SSL.ZeroReturnError为e:
OSError:(60,“ ETIMEDOUT”)
在处理上述异常期间,发生了另一个异常:
ProtocolError跟踪(最近一次通话) 发送(自己,请求,流,超时,验证,证书,代理)中的/anaconda3/lib/python3.6/site-packages/requests/adapters.py 439次retries = self.max_retries, -> 440超时=超时 441)
-> 285引发SocketError(str(e)) 286,除了OpenSSL.SSL.ZeroReturnError为e:
ProtocolError :(“连接已中止。”,OSError(“(60,'ETIMEDOUT')”,))
在处理上述异常期间,发生了另一个异常:
答案 0 :(得分:0)
您不需要使用fake_useragent,只需尝试像这样...传递代理cookie变量即可请求
import requests
url = "https://www.bestbuy.com/site/lg-65-class-oled-b9-series-2160p-smart-4k-uhd-tv-with-hdr/6360611.p?skuId=6360611"
agent = {"User-Agent":'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36'}
cookies = {"cookie":"COPY_HERE_YOUR_COOKIE_FROM_BROWSER"}
url_get = requests.get(url,headers=agent, cookies=cookies)
print(url_get.text)
如果您不知道如何获取Cookie,只需在浏览器中单击右键(Chrome示例)->检查>网络...,然后在加载Web时查看第一个请求并查看标题。 这段代码对我有用。