1. 项目背景

最近迷上了量化策略,搞量化嘛,第一步当然是获取大量数据。奈何新浪和东方财富等平台都没有我想要的数据,akshare和tushare也没有接口。最终发现同花顺的问财里头,可以拿到计算好的结果,那就写个爬虫呗。

通过抓包分析,发现问财就1个核心请求,如下图:

仔细观察3处有个参数hexin-v,就是我们这次的目标了,每次请求都会改变。

2. 分析过程

进一步观察,发下每次请求的hexin-v参数,跟cookie里的v字段值一模一样。所以只要找到cookie里v的生成逻辑,就能搞定hexin-v了。既然是cookie,那直接上cookie hook吧,下面是hook cookie 的代码:

(function () {
  'use strict';
  var cookieTemp = '';
  Object.defineProperty(document, 'cookie', {
    set: function (val) {
      if (val.indexOf('v') != -1) {
        debugger;
      }
      console.log('Hook捕获到cookie设置->', val);
      cookieTemp = val;
      return val;
    },
    get: function () {
      return cookieTemp;
    },
  });
})();

重新问下问财,就会进入到设置cookie处的断点:

通过上图,可以看到t就是我们的目标,继续往上看,可以跟踪到D函数中的rt.update()

进入到rt.update中,发现就是简单调用了O函数。

至此,已经找到实现的地方了,接下来只要实现就行。

3. 具体实现

既然已找到目标,那可以用rpc直接调用,也可以直接扣代码再补环境了。

鉴于时间比较充足,直接扣代码再部环境了。

考虑到法律问题,就不放源码了,最终的js文件如下图

Logo

加入社区!打开量化的大门,首批课程上线啦!

更多推荐