当我们点进某个股票具体的信息页面时,我们发现无论我们在查询栏里选择任何关键词或者翻页,这个页面的url都是不会发生变化的,右边的图片是我们不选择任何关键词刷新出来的所有的XHR
这里,我们以选择分类中的一季度与三季度为例,此时可以看到当我们选择完分类后这里多了两个query,我们点进去查看,对比这个没有选择任何分类的原始页面的query和选择完一季度三季度分类后的query,发现他们的请求方式(POST)和请求的url都是一样的,如果我们这里直接取复制这个url发现是打不开的
我们再分别看看这两个query中formdata表单里的参数,发现其他都相同,只有category的值不同,而不同的地方正好是因为我们选择了一、三季度的分类,也就是说这个例子中他是通过POST提交表单form数据传到指定的url来实现页面的局部刷新
因此就本例来说,我们直接复制formdata中的所有内容把他封装到files中,向query里的请求地址post,通过files参数传递form-data,此时返回来的状态码为200,成功获得分类后页面的内容(翻页的规律也是同理)
files = {
'stock': stock_ID,
'tabName': 'fulltext',
'pageSize': '30',
'pageNum': '1',
'column': 'sse',
'category': 'category_yjdbg_szsh;category_sjdbg_szsh;',
'isHLtitle': 'true'
}
url = "query里请求的url"
r = requests.post(url, datas=files)