我正试图像这样解决一个问题:
import requests
url = 'https://dx.doi.org/10.3847/1538-4357/aafd31'
r1 = requests.get(url)
actual_url = r1.url但是requests.get调用实际上需要10秒的时间,最多5分钟(它是变化的)!我尝试过stream=True或verify=False,但这并没有真正的帮助。
发布于 2020-02-11 14:58:58
看来他们是故意拖慢你的。尝试设置有效的用户代理。下面的代码为我运行ok (快速响应);
import requests
url = 'https://dx.doi.org/10.3847/1538-4357/aafd31'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'
}
req = requests.get(url, headers=headers)
print(req.text)如果您正在执行多个请求,只需确保执行速度足够慢,并可能随机使用多个用户代理。
发布于 2020-02-11 14:55:07
尝试:
import urllib.request
response = urllib.request.urlopen('https://dx.doi.org/10.3847/1538-4357/aafd31')
html = response.read()发布于 2020-11-09 06:08:46
我也有同样的问题。我的解决方案是使用更新的python版本创建一个新环境。
https://stackoverflow.com/questions/60171502
复制相似问题