360秒收问答采集伪原创程序(,策略有点意思:docId加密了,文末解析(一))

优采云 发布时间: 2021-09-10 02:17

  360秒收问答采集伪原创程序(,策略有点意思:docId加密了,文末解析(一))

  QQ讨论群:828423011

  // 8 月 7 日,返回项数限制为 50。getKey 方法变得更复杂,但本文中的方法仍然有效。

  /8月20日再看,这个反爬策略有点意思:docId加密,文末解析

  一、crawling 业务流程(1)结构guid

  核心代码如下:

  //js代码

(((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1)

  其实就是一个随机数,类似的算法也是可以的。官网成绩表为:

  // 例如: `194cb81f-cec7-1baa9226-aa547f73b7fd`

fn()+fn()+'-'+fn()+'-'+fn()+fn()+'-'+fn()+fn()+fn()

  (2)根据guid获取号码

  这个很简单,带上guid参数即可。关键是中间有个洞:

  当你遇到坑时,你会再试一次。后面也有类似的坑。 .

  (3) 得到了 vjkl5 值

  这个值有点意思,是系统在你访问网站时写入cookie中的。 cookie 的有效期是 1 小时,但只有 10 分钟(到目前为止)。后续请求将使用此值。系统会在客户端根据这个值计算vl5x,然后当向服务器发出请求时,服务器会根据vjkl5计算vl5x,然后将客户端的值与服务器计算的值进行比较。如果一致,则验证通过。返回数据,否则返回提醒键

  获取这个值很简单,获取cookie就可以了,这个值可以在本地缓存10分钟,减少请求次数。

  (4)计算 vl5x 值

  这是核心参数。步骤简单又简单,又复杂又复杂。关键看实现方法。

  首先跳入无聊的分析,直接告诉大家这个值是通过一个**getKey()**方法计算出来的,有经验的朋友都知道

  

  经过调试跟踪,发现该方法的依赖文件如下:

  sha1.js

base64.js

md5.js

key.js (是getKey的方法体,可以直接在控制台输入getKey获得)

  然后有一个解决方案:

  (5)获取列表

  如果上面的值都得到了,那么现在就可以去获取列表了。参数如下:

  (6)后续坑

  坑很多,总结一下我目前发​​现的

  (7)follow-up

  目前可以使用上述方法。我有采集 数百万条数据。后面我会在官网更新算法(如果能破解的话..)。那我就不开源这个程序了。毕竟是暗蜘蛛程序。核心已经告诉大家,你可以自己做。不过有什么问题还是可以交流的~~

  (8)Document ID解密

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线