更新(2022-07-01日更新)
1. 估计是百度指数修改了爬虫策略,目前已更新为最新版本~
有时候大家需要知道一个关键词在互联网上的热度,想知道某个关键词的热度变化趋势。大家可能就是使用百度指数、微信指数之类的。非常好用,但是就是不能把数据下载保存下来,不方便我们后面进行操作。
我无意间看到别人提供的python脚本,可以对百度指数进行爬虫,于是我稍微修改了部分代码,做了一个可以直接返回pd.Dataframe的数据框的类;然后后面又加了一个小的可视化代码。这里和大家分享,只要使用这个脚本,就可以将百度指数数据下载下来,并且保存。
1. 获得cookie值
百度指数是需要登陆,进行用户验证,因此,我们要登陆百度指数,然后随便搜索一个关键词,比如python。
然后在网页空白地方,右键打开【检查】,然后进入【网络】
这个时候会发现【网络】里面都是空的,需要重新刷新网页即可看到所有内容。内容太多了,注意选择【Fetch/XHR】.
然后找到开头的文件,查看他的【标头】、查看他的【cookie】.将这个cookie的值复制
2. 使用我的代码
- 基础代码,只要复制好就行
- 使用上面的类
使用上面的类,然后使用下面的代码。
先初始化类,然后在使用这个对象的GetIndex函数,里面的参数keys就是传递一个关键词就行,要用列表形式传递。
说更加简单一点的,只要把python替换成别的关键词就行了,然后时间也都是文本形式,样式就是’yyyy-mm-dd’形式就行。
- 保存数据
如果想保存数据,直接可以这么写:
可视化
获得数据已经很简单了,接下来可视化,就是非常简单的事情了,你用别的语言处理数据也都可以了。我这里简单的画一个时间序列图:
结果如下: