python获得百度指数脚本[免费分享]
注意
更新(2022-07-01日更新)
1. 估计是百度指数修改了爬虫策略,目前已更新为最新版本~
前言
我无意间看到别人提供的python脚本,可以对百度指数进行爬虫,于是我稍微修改了部分代码,做了一个可以直接返回pd.DataFrame的数据框的类;然后后面又加了一个小的可视化代码。这里和大家分享,只要使用这个脚本,就可以将百度指数数据下载下来,并且保存。
具体步骤
1. 获得cookie值
百度指数是需要登陆,进行用户验证,因此,我们要登陆百度指数,然后随便搜索一个关键词,比如python。 然后在网页空白地方,右键打开【检查】,然后进入【网络】
这个时候会发现【网络】里面都是空的,需要重新刷新网页即可看到所有内容。内容太多了,注意选择【Fetch/XHR】.
然后找到index?开头的文件,查看他的【标头】、查看他的【Cookie】.将这个cookie的值复制
2. 使用我的代码
- 基础代码,只要复制好就行
- 使用上面的类
使用上面的类,然后使用下面的代码。 先初始化类,然后在使用这个对象的GetIndex函数,里面的参数keys就是传递一个关键词就行,要用列表形式传递。
说更加简单一点的,只要把python替换成别的关键词就行了,然后时间也都是文本形式,样式就是’yyyy-mm-dd’形式就行。
cookie = 你的cookie值,注意使用英文单引号;就是直接复制就行了 # 初始化一个类 downloadbaiduindex = DownloadBaiDuIndex(cookie=cookie) data = downloadbaiduindex.GetIndex(keys=[python], start=2021-01-01, end=2021-11-12) data
- 保存数据
如果想保存数据,直接可以这么写:
data.to_csv(data.csv)
可视化
获得数据已经很简单了,接下来可视化,就是非常简单的事情了,你用别的语言处理数据也都可以了。我这里简单的画一个时间序列图:
import plotly.graph_objects as go import pandas as pd df = data fig = go.Figure([go.Scatter(x=df.index, y=df[all], fill=tozeroy)]) fig.update_layout(template=plotly_white, title=python 百度指数) fig.show() fig.write_html(python.html)
结果如下:
总结
上面基本上没有任何难点了,只要没把cookie复制错,只要没有把上面的参数写错就行。
反馈
- https://blog..net/as604049322/article/details/121490054
- https://towardsdatascience.com/introduction-to-interactive-time-series-visualizations-with-plotly-in-python-d3219eb7a7af
- https://plotly.com/python/filled-area-plots/
