百度指数java_百度指数爬取

本文介绍了如何通过前端JavaScript代码解析百度指数提供的加密数据,并提供了一个简单的HTML工具来帮助用户解密这些数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值