微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

纳斯达克网页的“request.get()”没有响应

如何解决纳斯达克网页的“request.get()”没有响应

我可以通过浏览器打开此 url 并查看 json 格式的响应。但是,当我使用 requests 模块时,该方法没有响应。

import requests
response = requests.get('https://api.nasdaq.com/api/calendar/earnings?date=2021-02-23')

这里出了什么问题?

解决方法

这对我有用:

url = 'https://api.nasdaq.com/api/calendar/earnings?date=2021-02-23'
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/75.0.3770.142 Safari/537.36'}

response = requests.get(url,headers=headers)

说明

该站点正在阻止来自 python 的请求。参考说明here

,

添加在 chrome 中检查元素时出现的查询头时,请求在 python 中运行良好:

import requests
response = requests.get('https://api.nasdaq.com/api/calendar/earnings?date=2021-02-23',headers={"authority":"api.nasdaq.com","scheme":"https","path":"/api/calendar/earnings?date=2021-02-23","pragma":"no-cache","cache-control":"no-cache","accept":"application/json,text/plain,*/*","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/88.0.4324.182 Safari/537.36","origin":"https://www.nasdaq.com","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"https://www.nasdaq.com/","accept-encoding":"gzip,deflate,br","accept-language":"en-US,en;q=0.9,es;q=0.8,nl;q=0.7"})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。