对nasdaq.com的发布请求不正确

时间:2018-12-09 22:56:30

标签: python python-requests

所以我试图从纳斯达克获取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)

1 个答案:

答案 0 :(得分:1)

我能够检索原始的十年数据。我拍了一些截图。请注意,它是使用HTML模板呈现的,因此您需要将其删除,但是我认为我朝着正确的方向发展。

https://imgur.com/a/X1XfLa3

我的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)