业界动态
百度指数数据
2024-10-31 21:16

开发工具:pycharm

百度指数数据

开发环境:Python

操作系统:windows

在百度指数首页登录,之后输入我们需要的关键词,我们需要抓取指定关键词的搜索指数趋势图中某一短时间的数据,我们首先需要登录我们的百度账号以获取cookie。

我们需要获取曲线上的每一点所对应的数据,打开开发者工具F12,在元素栏中搜索其中数据,搜索结果不到,说明数据不是网页中的,而是通过后方数据库,动态获取的。

动态数据都是后台数据库返回的,所以我们需要找到这个文件。

打开开发者工具-->点击到网络栏-->选中XHR项-->刷新页面

XHR选项:XMLHttpRequests(XHR)请求通常会返回从服务器获取的数据。这些数据可以是各种格式,取决于服务器端和前端的配置以及应用程序的需求

我们逐个点击左侧请求的名称并查看右侧响应预览

我们可以发现在index开头的请求中包含数据,观察一下我们发现应该就是我们要的数据,其中all是指全部数据,PC是指pc端,wise是指移动端,但是data被加密了,所以我们需要通过‘JS逆向‘找到对应的解密方式。

我们分析以上请求中给我们返回的json数据

其中当我们想从data中获得数据时,必然会用到类似data.userIndexes的方式从response中来取出整个数组数据,并且最终会用all.data来获取最后一层数据。为此,我们尝试使用generalRadio,userIndexes去搜索。

Ctrl+F打开全局搜索框,搜索userIndexes(我们需要其中的数据,定位到三个JS

逐个查看后发现第一个JS就是之前我们看的数据,第二个JS中·userIndexes只有一处,是在处理请求函数中,并没有解密数据

第三个JS中userIndexes有3处,其中第一处是向后端发送axios请求(响应数据等)。第二第三处在一块,可以发现这里调用了all.data,pc,data,wise.data。我们可以看到其中有一个decrypt函数,至此咱们可以知道就是解密函数,我们可以看到dectypt函数传入了两个参数

从其中我们可以看出其中第二个参数是从后端获取的加密数据,第一个参数暂时看不出来,因此我们搜索decrypt,并在函数中打上断点进行调试,跳转到函数内部

我们可以看到t="kAhjeN4z3WOuaD6-918652.4+370,%"这样的加密字符

搜索这个字符,我们可以发现结果显示参数是从https://index.baidu.com/Interface/ptbk?uniqid=223acdc67372b787e7619f43834b6d15返回的

打开文件的负载我们发现其中有个参数uniqid发现好几个请求都有该参数,同时在我们请求数据接口时,后台数据库也给我们返回了该参数

因此我们整理一下思路我们要获取数据因此去访问数据库,随后,数据库给我们返回了一个加密厚的数据,同时给我们返回了一个uniqid参数(此参数用于获取t参数,又叫ptbk参数),获取这个ptbk参数的url:https://index.baidu.com/Interface/ptbk?uniqid=851b6825de9a14255d199cbd73338cd2需要一个参数uniqid,我们进行GET请求,返回一个JSON数据,获取uniqid和data的url:https://index.baidu.com/api/SearchApi/index?area=0&word=[[%7B%22name%22:%22%E7%8E%AF%E5%A2%83%E6%B1%A1%E6%9F%93%22,%22wordType%22:1%7D]]&days=30

(如果要指定日期只需在word后面追加&startDate=,&endDate=,days代表多少天,area代表位置等于0就是全国

总结

1.通过URL获取uniqid和data

2.通过uniqid获取ptbk

3.通过ptbk和data解密

因为百度指数的请求会验证用户登录,所以我们在发送请求需要携带cookie信息,百度cookie的核心是BDUSS,所以我们要登录账户--》开发者工具--》cookie-->BDUSS

随后,我们向api发送get请求,获取到加密数据,同时保存好uniqid

获得到加密数据后我们要对他进行解密

为此我们要先获得解密参数

随后我们需要改写JS中的解密函数

改写后的python版

搜素关键词以及设置时间和指定省份

总代码如下

问题及心得
    以上就是本篇文章【百度指数数据】的全部内容了,欢迎阅览 ! 文章地址:http://dfvalve.xrbh.cn/news/2960.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 迅博思语资讯移动站 http://keant.xrbh.cn/ , 查看更多   
最新新闻
“撒旦”人血鞋?碰瓷新疆棉花的耐克,又开始喊冤了?
继主动碰瓷新疆棉花把自己搞得股价大跌之后耐克秉承着“no zuo no die”的精神又开始暗搓搓搞“阴间操作”限量发售含人血的“撒
tiktok怎么搭建外网 详细教程及步骤
TikTok怎么搭建外网(详细教程及步骤)TikTok是一款非常流行的短视频社交应用程序,它在全球范围内拥有数亿用户。在使用TikTok的
《以案释法》步数越多,收益越高?别被“走路也能赚钱”的理财广告忽悠了
  走路也能赚到钱的理财  “丑的人还在睡觉,美的人已经跑出一杯星巴克了。”2016年的一天,一个女孩晒出的朋友圈截图引起了
如何用生意参谋算出同行店铺真实销售额
怎么经过生意顾问算出同行店肆实在销售额?大多数在淘宝天猫工作过的人都知道,他们的背景显现了同行商铺的买卖数据,这被称为买
一款最近比较火的网站统计分析系统,易分析具有什么样的功能呢?
一、产品简介北京普艾斯科技有限公司成立于2009年,服务客户1000+,包括电商、金融、保险、政务服务等行业。私有化部署,全渠道
向佐快乐大本营2024年精彩回顾:四年时光共欢笑
张大大谢娜力捧下的综艺新星张大大一位在娱乐圈中颇具人气的主持人他的成名之路离不开谢娜的提携回顾张大大的成名之路可以说谢娜
PingTools app
《PingTools app》是一款非常好用的实用工具软件,软件内拥有丰富的功能,包含了包括浏览器扫描等。使用非常简单,直接下载安装
抖音能看到谁搜索过自己吗?
尊敬的用户,您好。针对抖音平台是否能够查看谁搜索过自己的问题,我们需要做一些详细说明。首先,根据我们了解到的情况,在抖音
什么是人工智能“语料库”?为什么每个人都在谈论它?
编者按:比尔盖茨(Bill Gates)、Reddit 首席执行官和其他科技领袖越来越多地谈论“语料库”,现在是时候了解它是“何方神圣”
LED行业词语中英对应
1、led 灯具构成英文led 球泡灯:led bulbLed 贴片灯珠:SMD LEDLed驱动电源:led driver隔离电源:isolated driver非隔离电源:
本企业新闻

点击拨打: