百度指数java_百度指数爬取

1.为什么做这个

今天一个朋友问能不能拿到百度指数的折线图数据,便上网查了相关资料,参考了网上的一位作者,链接地址:http://www.pianshen.com/artic...,教了朋友怎么拿数据。

2.观察

经过观察,百度指数并没有返回包含真实数据的json文件,而是加密过后的数据,但是为了渲染,在前端应该有对应的解密代码。

3.实验

实验工具:谷歌浏览器

请求截图7e76f2d427371fe3d1a000b92ebc4ddc.png

发现请求的返回数据中返回了:data及uniqid两个值,猜测data为加密的数据,以及uniqid为密钥

解密,由上文的参考文章中得知js解密代码如下:

function decrypt(t,e){

for(var a=t.split(""),i=e.split(""),n={},s=[],o=0;o

n[a[o]]=a[a.length/2+o]

for(var r=0;r

s.push(n[i[r]])

return s.join("")

}

var e="j5TnWEU5,jEU5,LEU55jEVUnTEU,VUEjjrT5EjjW,rEU5,TEVTTnEVT,jEVnLTEUjjTEjLVWrEjL,nVEV5VjErU,VErTT5Err,5EVnULEUr,WEUWLVErUrUErrWLEVL5,EVn,jEVW5rEjL5WUEUV,UEVj,W" //加密后的数据

var t="xWEvn5UVITL,jtr.6,%3298-5041+7" //密钥

var data = decrypt(t,e)

console.log(data) //12536,9241,9240,9221,8935,9489,11752,11647,9245,8553,8541,8305,9115,10867,10438,8281,7948,7552,7742,8390,9746,9608,7979,7760,8024,8341,8627,10269,9849,8146

写了个html解密小工具,如下图所示c739c07e4561771e0917acf5220d03fe.png

工具的源码如下(瞎写的一个工具,望大家见谅):

百度指数数据解密

输入data

输入uniqid请求返回的数据

解密

解密的结果为

function decrypt(t,e){

for(var a=t.split(""),i=e.split(""),n={},s=[],o=0;o

n[a[o]]=a[a.length/2+o]

for(var r=0;r

s.push(n[i[r]])

return s.join("")

}

function showdata(){

document.getElementById("data").value = ""

var encryptedData = document.getElementById("encryptedData").value

var key = document.getElementById("key").value

var data = decrypt(key,encryptedData)

document.getElementById("data").value = data

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值