最近幾年經常在各平台看到有關「搜索指數動態排行」的視頻,比如「青春有你2」決賽前一周,我在B站上傳了一段「青你2」和「創造營2020」的人氣選手指數動態榜的視頻,后台看到的視頻播放量、彈幕數、評論數等數據如下:
居然被播放了近 4w 次,評論里有問視頻怎么做的,也有質疑數據來源的,這篇文章先講一下數據是怎么來的。
全部數據都來自百度搜索指數,就是這個玩意兒:
網上關於百度指數的爬取方案有很多種,測試下來最方便快捷的是通過 Cookies 登錄后爬取,這個場景不太適合用模擬瀏覽器的方式。基於開源代碼 (https://github.com/longxiaofei/spider-BaiduIndex) 進行了一些 DIY,就滿足我的需求了。
(原開源代碼可能由於久未更新,局部存在一些問題,已做處理)
在查找爬蟲方法過程中,大家提到次數最多的問題就是如何找到自己的 Cookies。登錄百度后,在首頁右鍵打開「開發者工具」,然后點擊「Application」:
然后在 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,然后你就可以獲得像這樣的數據了:
關注公眾號「數據池塘」,回復「百度指數」,獲取完整代碼下載鏈接 👌