本页使用JavaScript
/ AJAX
( XHR
)
使用DevTool
in Chrome
of Firefox
(tab: Network
, filter: XHR
) 您可以查看来自JavaScript
服务器的所有请求以及响应中的所有数据。
这样你可以看到它从 url 读取一些数据:
https://www.nnbulgaria.com/Orchard.Nn/public/chartsUVData?chart-startdate=2004-06-01&chart-enddate=2020-04-23&value-per-share-type=LiPro
它获取JSON
数据,您可以轻松地将其转换为 Python 字典。
在 url 你可以看到日期chart-startdate=
,enddate=
所以如果你改变日期,那么你应该得到不同的数据——你不需要为此使用POST
表单。
而且它不需要使用Selenium
import requests
url = 'https://www.nnbulgaria.com/Orchard.Nn/public/chartsUVData'
params = {
'chart-startdate': '2004-06-01',
'chart-enddate': '2020-04-23',
'value-per-share-type': 'LiPro',
}
r = requests.get(url, params=params)
data = r.json()
print(data.keys())
for label, lowrisk, balanced in zip(data['labels'], data['dataLowRisk'], data['dataBalanced']):
print(label, lowrisk, balanced)
结果
dict_keys(['labels', 'dataLowRisk', 'dataBalanced', 'dataAggressive', 'dataCommodities', 'dataMoneyMarket', 'dataUSEquities', 'dataGermanEquities', 'dataTechnologyCompaniesEquities'])
02.06.2017 1.0 0.99434
08.06.2017 0.9999 0.99387
14.06.2017 1.00092 0.99564
20.06.2017 1.0059 1.00039
26.06.2017 1.00375 0.99676
30.06.2017 0.99521 0.98354
06.07.2017 0.9932 0.98518
12.07.2017 0.99384 0.98384
18.07.2017 1.00056 0.9944
24.07.2017 0.99827 0.99075