创建百度指数(创建百度指数想指数蛙)

今天我就给大家展示一下如何用python直接采集百度指数的数据。百度指数是基于百度海量网民行为数据的数据分析平台。可以告诉用户某个关键词在百度的搜索规模有多大,

今天我就给大家展示一下如何用python直接采集百度指数的数据。

百度指数是基于百度海量网民行为数据的数据分析平台。可以告诉用户某个关键词在百度的搜索规模有多大,一段时间内的涨跌以及相关新闻舆论的变化,关注这些词的都是什么样的网民,分布在哪里,搜索过哪些相关的词。

白石老师分享了如何使用uiautomation采集百度指数:如何批量获取百度指数?

不过我个人感觉这种方法好像是一刀杀鸡。selenium对于网页来说已经足够了。当然,对于专门针对selenium进行反抓取检测的网页,需要进行特殊的修改。

本文不演示如何使用UI自动化工具收集百度指数。为了使收集更容易,接口将被直接读取和解析。

关于uiautomation,PC端的UI自动化可以在教程中查看:

你得先登录打开百度指数才能找到并查看指数。例如,让我们比较一下上周python和Java的一个索引:

如何用Python下载百度指数的数据

当鼠标移动到每天的坐标时,会显示当天的数据,例如:

如何用Python下载百度指数的数据

如果我们采用UI自动化,我们至少要模拟移动到每日坐标。

打开开发工具,重新查询数据采集界面:

如何用Python下载百度指数的数据

的实际索引数据存储在该数据字段中,但它是以某种加密方式加密的。

那么注意,第二接口的参数与当前接口返回的数据的值一致。

此时,我全局搜索decrypt,找到了加密函数:

如何用Python下载百度指数的数据

此时,点击断点再次搜索,可以看到传入该函数的T参数与ptbk接口返回的值一致:

如何用Python下载百度指数的数据

说明我们只需要把这个js翻译成python就可以解密加密的数据了。

我们来总结一下指数数据采集的思路:

Uniqid和加密的索引数据userIndexes通过index接口获得。

通过ptbk接口传入uniqid获取key key。

通过解密函数根据key key解密userIndexes。

让我们用代码实现它。首先,获取索引数据:

Cookie登录后需要复制粘贴,就是请求中的这个字符串(直接复制粘贴即可):

如何用Python下载百度指数的数据

结果:

这些数据中,wise代表移动端,all代表pc端+移动端。UserIndexes是索引明细数据,generalRatio是概览数据。

我们只关心下面每个关键词的整体表现。

让我们获得uniqid并获得ptbk:

我将下面的Js代码翻译成python:

Python代码:

然后我们遍历每个关键字来解密相应的索引数据:

检查实际网页中的数据,发现确实一致:

如何用Python下载百度指数的数据

那么我们就可以很容易的获得任意指定关键词的索引数据。下面我把它封装成一个整体,完整的代码是:

测试它:

结果很好。

本文来自肖晓明的博客,原文链接:

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

作者:美站资讯,如若转载,请注明出处:https://www.meizw.com/n/145940.html

发表回复

登录后才能评论