待发转债的链接:
本来以为换成这个链接就可以,但是试了试发现是不对的。
实际上应该是在Chrome中F12,选到网络页签,然后点击一个页签,才能看到对应的地址。如下图所示:
我理解可能一个是浏览器中显示的,F12里看到的是实际上JS代码发送的数据吧。
用这个方式获取到待发转债页签的链接,替换进行获取数据就可以拿到了。
——————————-
以下是之前的记录,主要是从集思录获取可转债数据,用来做一个多因子选债的功能,已经用了一段时间,相比手动调仓,还是方便不少的。
底下这部分看着没头没尾的,实际上是一个大佬给的代码,拿来改了改。
pycharm里面有两个python文件,一个是jsl.py,这个是用来获取session的。
还有一个main.py,这个是用来获取数据的。
2023.3.18测试是可以使用的。
用法:
1.在jsl.py里面填写编码后的用户名和密码,这个好像不是必须的,看了一下上次是2022.8填的,今天抓了一下登录过程,发现还是一样的。
这里要注意一下抓登录过程的方法。之前研究这个研究了半天,记得写过个文章,但是找不到了,就再写一个吧。
找到集思录登录页面,如果之前保存的有数据就退出登录。
然后F12调出控制台,选择网络页签。
记得要勾选保留日志,之前就是没勾这个折腾了半天。
其实这里也可以勾选全部右侧的那个fetch/XHR,这样过滤一下找起来更简单。
然后找到那个login_process,点开查看表单数据,里面就有编码过的用户名和密码。
更进一步研究一下,这其实就是个AES加密。
从表单底下的aes:1也可以看出。
有个大神的文章分析了这个AES加密:
实际上就是调用cryptoJS组件,写死了一个秘钥。
找了个在线解码网站:网页链接
想试试正向编码,结果发现不对,然后反向解码对了。
集思录用户名的key用的是手机号,之前拿用户名作为key,所以编码出来的不对。
然后把编码后的用户名和密码填到json里面,模拟一个表单请求,就能获取到一个session,然后把这个session写入到一个文件后续使用。
2.这边session获取好以后,就只需要运行main.py就可以了。
这个文章没代码,代码在本地。只是自己记录一下流程,怕下次忘了。