python - Python 请求无法正常工作
问题描述
我有一个简单的 Get 请求,我想使用 Python 的 Request 库发出。
import requests
HEADERS = {'user-agent': ('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5)'
'AppleWebKit/537.36 (KHTML, like Gecko)'
'Chrome/45.0.2454.101 Safari/537.36'),
'referer': 'http://stats.nba.com/scores/'}
url = 'http://stats.nba.com/stats/playbyplayv2?EndPeriod=10&EndRange=55800&GameID=0021500281&RangeType=2&Season=2016-17&SeasonType=Regular+Season&StartPeriod=1&StartRange=0'
response = requests.get(url, timeout=5, headers=HEADERS)
但是,当我requests.get
拨打电话时,我收到错误消息requests.exceptions.ReadTimeout: HTTPConnectionPool(host='stats.nba.com', port=80): Read timed out. (read timeout=5)
。但我可以将该 url 复制/粘贴到我的浏览器中并查看生成的 JSON。为什么请求无法得到结果?
解决方案
你的HEADERS
格式不对。我尝试使用此代码,它没有任何问题:
import requests
HEADERS = {
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36',
}
url = 'http://stats.nba.com/stats/playbyplayv2?EndPeriod=10&EndRange=55800&GameID=0021500281&RangeType=2&Season=2016-17&SeasonType=Regular+Season&StartPeriod=1&StartRange=0'
response = requests.get(url, timeout=5, headers=HEADERS)
print(response.text)
推荐阅读
- amazon-web-services - AWS Lambda 无法从 START_OBJECT 令牌中反序列化“java.lang.String”的实例
- python - wingIDE 不能在 kali linux 上运行没有错误信息
- sql - 选择不同的唯一
- php - WooCoomerce:单击条款复选框时打开弹出窗口
- python-3.x - 我在 pip 中不断收到环境错误,如何解决?
- spring-boot - (jar 冲突)java.lang.VerifyError:堆栈映射与异常处理程序中的不匹配
- r - 使用 geom_tiles 对列进行排序
- function - 如何通过 Powershell 删除程序?
- javascript - 使用 Nodejs Express Multer 将图像从 React Native 上传到 MongoDB Atlas
- c - 操作系统线程是否在 go-routine 执行的 io 上被阻塞?