b站個人直播消費(fèi)記錄爬取
我們都知道b站有很多up主,當(dāng)然也有很多主播。相信各位經(jīng)??粗辈サ男』锇橐矔o主播刷禮物。
有這樣一個場景,說富二代張三給主播刷了很多禮物,某天打開自己的直播消費(fèi)記錄想統(tǒng)計一下分別給各個主播刷了多少錢。但是一查好家伙發(fā)現(xiàn)有成千上萬條記錄,這一條一條統(tǒng)計不得累死個人?這該怎么辦呢?聰明的張三想到可以用爬蟲的方法,但是呢發(fā)現(xiàn)b站網(wǎng)頁版沒有消費(fèi)記錄,只有手機(jī)端才有,這下張三犯難了。因為張三之前只學(xué)習(xí)過網(wǎng)頁端的爬蟲方法,類似用python的requests庫獲取網(wǎng)頁源代碼,再加上正則表達(dá)式爬取或者通過Selenium庫控制瀏覽器進(jìn)行爬取。但是手機(jī)上的該怎么爬取呢?聰明的張三向羅老師請教,羅老師稍加思索,給出了以下方法。
手機(jī)usb連接電腦,通過python和Appium,使得電腦控制手機(jī)進(jìn)行爬取。
張三追問那么該怎么具體實現(xiàn)呢?羅老師給出了以下具體操作步驟
聲明:該方法適用于安卓手機(jī)。蘋果手機(jī)該方法暫不支持,可以在安卓手機(jī)上登錄蘋果手機(jī)的賬號進(jìn)行替代。
1.環(huán)境配置
前期工作準(zhǔn)備,需要安裝python、PyCharm、jdk、Appium-windows-x.x、Appium_Python_Client、Android SDK
其實前兩項python和pycharm推薦用anaconda的jupyter來替代,(anaconda上面集成了python的許多庫,如果不是用python開發(fā)的話推薦使用)。所以我們只需要anaconda、jdk、Appium-windows-x.x、Appium_Python_Client、Android SDK這五項即可。
環(huán)境配置具體過程有有需要的請看以下鏈接https://blog.csdn.net/weixin_42617600/article/details/114111785
這篇博客講得十分詳細(xì)且有趣,講的是如何用電腦打開手機(jī)上的b站App。環(huán)境配置好后就可以進(jìn)入下一步。在jupyter運(yùn)行pytnon代碼就行,代碼如下。
2.導(dǎo)入模塊

3.電腦控制手機(jī)打開b站App

4.打開b站

打開之后類似下圖

5.在手機(jī)上點擊我的——我的直播——消費(fèi)記錄,查看個人消費(fèi)記錄

因為這個消費(fèi)記錄很多,一個頁面只能顯示10條,要想爬取所有的可以設(shè)置滑動,邊向上滑動邊爬取就能獲取所有的數(shù)據(jù)。
具體參數(shù)設(shè)置的flick_distance=1050可以不重不漏的爬取,如下所示:

7.爬取

運(yùn)行結(jié)果如下所示

因為這些數(shù)據(jù)被我們存儲在列表里,轉(zhuǎn)換成dataframe,

爬取結(jié)果如下所示,爬取結(jié)果可以保存成excel表格或者存儲到數(shù)據(jù)庫中。

ok那么任務(wù)完成,張三你學(xué)廢了嗎?
這里的代碼都是截圖,該文章就是展示一下b站的直播消費(fèi)記錄怎么爬取,給大家一個思路
真正需要代碼的話可以到下面我寫的這個博文中復(fù)制。當(dāng)然這種方法使用與爬取個人的直播消費(fèi)記錄,想爬取別人的必須登上他的b站賬號。
https://blog.csdn.net/mister1/article/details/115705084
總結(jié),手機(jī)上的數(shù)據(jù)怎么爬???其實Appium已經(jīng)給出了我們答案,類似的,手機(jī)上的微信朋友圈,抖音上的一些數(shù)據(jù)都可以通過這種方式方法進(jìn)行爬取,如果你真正感興趣或有需求的話,那么Appium這種方法推薦給你。