请求。获取速度非常慢

2024-04-16 20:45:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图解决这样一个DOI:

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=Trueverify=False,但那没有真正的帮助


Tags: httpsorgimporturlstreamget时间doi
3条回答

我也有同样的问题。我的解决方案是使用更新的python版本创建一个新环境

尝试:

import urllib.request
response = urllib.request.urlopen('https://dx.doi.org/10.3847/1538-4357/aafd31')
html = response.read()

看来他们是故意让你慢下来的。请尝试设置有效的用户代理。 下面的代码对我来说运行正常(快速响应)

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)

如果您正在执行多个请求,请确保执行速度足够慢,并可能随机使用多个用户代理

相关问题 更多 >