所以我试图从纳斯达克获取10年历史数据。默认时间段为3个月,将其更改为10年并检查页面源的发布请求的数据/有效负载字典为“ 10y | false | FB”
数据是公开可用的,可以作为excel表下载。
我通过邮寄请求收集的回复仍然是3个月而不是10年。谁能告诉我这是怎么回事?谢谢!
url = "https://www.nasdaq.com"
s = requests.Session()
response = s.get(url)
Scookies = s.cookies.get_dict()
url = "https://www.nasdaq.com/symbol/FB/historical"
data = {'ddlTimeFrame':'10y',
'onchange':'false',
'symbol':'FB'}
data = json.dumps(data)
headers = {'user-agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Mobile Safari/537.36',
'authority':'www.nasdaq.com',
'method':'POST',
'path':'/symbol/fb/historical',
'scheme':'https',
'accept':'*/*',
'accept-encoding':'gzip, deflate, br',
'accept-language':'en-US,en;q=0.9',
'content-length':'12',
'referer': url,
'content-type':'application/json',
'origin': 'https://www.nasdaq.com',
'x-requested-with': 'XMLHttpRequest'}
response = s.post(url, headers = headers , data = payload)
答案 0 :(得分:1)
我能够检索原始的十年数据。我拍了一些截图。请注意,它是使用HTML模板呈现的,因此您需要将其删除,但是我认为我朝着正确的方向发展。
我的Python示例:
import requests
url = "https://www.nasdaq.com/symbol/fb/historical"
payload = "10y|false|FB"
headers = {
'Content-Type': "application/json",
'cache-control': "no-cache",
}
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)