![6e2cb12746640cf4f1ad02c806f25a18.png](https://i-blog.csdnimg.cn/blog_migrate/1f238a6e880040f51d97dc7ac38c2226.jpeg)
最近几年经常在各平台看到有关「搜索指数动态排行」的视频,比如「青春有你2」决赛前一周,我在B站上传了一段「青你2」和「创造营2020」的人气选手指数动态榜的视频:
![f5f5e745700c8affdd5dd6f16cb0e8e0.png](https://i-blog.csdnimg.cn/blog_migrate/b4e09981528cbfe57236ffb74499e15b.png)
后台看到的视频播放量、弹幕数、评论数等数据如下:
![272d1a6c80585e87f8c6ac8135e1323d.png](https://i-blog.csdnimg.cn/blog_migrate/79c85e438c67a26890056f1bf643ef3a.png)
居然被播放了近 4w 次,评论里有问视频怎么做的,也有质疑数据来源的,这篇文章先讲一下数据是怎么来的。
全部数据都来自百度搜索指数,就是这个玩意儿:
![6d787e88de9b4fbb41381f4a91b798d8.png](https://i-blog.csdnimg.cn/blog_migrate/2ff77d32a04f2f1df4790e4acbfe6891.jpeg)
网上关于百度指数的爬取方案有很多种,测试下来最方便快捷的是通过 Cookies 登录后爬取,这个场景不太适合用模拟浏览器的方式。基于开源代码(https://github.com/longxiaofei/spider-BaiduIndex)进行了一些 DIY,就满足我的需求了。
(原开源代码可能由于久未更新,局部存在一些问题,已做处理)
在查找爬虫方法过程中,大家提到次数最多的问题就是如何找到自己的 Cookies。登录百度后,在首页右键打开「开发者工具」,然后点击「Application」:
![6c338298e759cc0d5f0029bc610ea386.png](https://i-blog.csdnimg.cn/blog_migrate/215cafdf11518aa3c09c31cd5d5648f5.jpeg)
然后在 Name 那一列找「BDUSS」,复制后面对应的 Value,很长的一串字符~
把这段字符串赋值给 demo.py 中的变量 cookies,别忘了前面加 "BDUSS=",然后就可以实现自动登录了。接下来就可以在 keywords 填写你要爬的关键词列表了,设置要爬取指数的起始时间 start_date 和结束时间 end_date,如下:
cookies = "BDUSS=你的Cookies"
keywords = ['刘雨昕', '虞书欣', '喻言', '许佳琪', '孔雪儿', '赵小棠', '金子涵', '安崎', '谢可寅', '乃万']
baidu_index = BaiduIndex(
keywords=keywords,
start_date='2020-03-10',
end_date='2020-05-27',
cookies=cookies,
)
按你的需求修改好各个变量后,运行 demo.py,然后你就可以获得像这样的数据了:
![b43f9443f4a87645a9804c3da50a97cb.png](https://i-blog.csdnimg.cn/blog_migrate/c9ac1c261b2c852945df2a2edf7bd74a.jpeg)