剪贴:从图表中提取数据

时间:2019-09-13 07:56:28

标签: javascript python-3.x web-scraping

我找到了一种方法,可以通过查看网络选项卡(在开发工具面板中)从chart page of the Wall Street Journal下载数据,并再现刷新图表时创建的请求。其工作原理如下:

'Network'

这非常好,因为它非常简单且有效,但是我只能检索最多25天左右的分钟数据。

另一方面,morningstar charting似乎有更多可用的分钟数据,我想做同样的事情:只需通过查找javascript调用从网站获取数据在更新图表时在后台进行。但是,当我查看“网络”标签时,更改日期范围时看不到任何通话。我对javascript不太了解,想知道他们使用了什么替代机制来实现这一目标。 (也许是异步/提取?)

有人知道我怎么可能看到这些电话吗?

1 个答案:

答案 0 :(得分:1)

您将需要调查其他任何查询字符串参数是否基于时间(或取决于行情指示器)。我已经用固定的值替换了几个参数,这些参数似乎仍然有效。

import requests

start_date = '20170814'
end_date = '20190102'

r = requests.get(f'https://quotespeed.morningstar.com/ra/uniqueChartData?instid=MSSAL&sdkver=2.39.0&CToken=1&productType=sdk&cdt=7&ed={end_date}&f=d&hasPreviousClose=true&ipoDates=19801212&pids=0P000000GY&sd={start_date}&tickers=126.1.AAPL&qs_wsid=27E31E614F74FC7D8828E941CAC2D319&tmpid=1&instid=MSSAL&_=1').json()

print(r)

fiddler观察到的原始参数: