事实上,我刚才试了一下,页面不是用xhr加载的,在页面的源代码中已经有了,然后调用了一个类把数据加载为一个table。
比如,首页的数据:
然后,提取就直接使用re提取就可以了,得到文本以后json解析就好了。
先写到这里。
+++++++++++++++++++++++++++++++++++++++++
然后,就是这个网站不使用xhr加载数据而是使用的js来加载json数据,动态解析来显示。具体分析需要用到js的知识,如果你了解也可以自己尝试解析。
我尝试了一下。
from urllib.parse import quote
import time
import requests
url = "http://datainterface.eastmoney.com/EM_DataCenter/JS.aspx?type=FD&sty=TSTC&st={sortType}\
&sr={sortRule}&p={page}&ps={pageSize}&js=var {jsname}=(x){param}"
params = {
"sortType": 1,
"sortRule": 1,
"page": 2,
"pageSize": 50,
"jsname": "Aafdafgq", # 这里使用的是随机字符串,8位
"param": "&mkt=0&rt="
}
params["param"] += str(int(time.time()/30)) # 当前时间
url = url.format(**params)
url = quote(url, safe=":=/?&()")
req = requests.get(url)
req.text