日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

爬取B站10万数据,看看都有哪些热门的UP主

發布時間:2024/1/18 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 爬取B站10万数据,看看都有哪些热门的UP主 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

要點:

- 爬取10萬用戶數據

- 數據存儲

- 數據詞云分析

1.準備階段

寫代碼前先構思思路:既然我要爬取用戶關注的用戶,那我需要存儲用戶之間的關系,確定誰是主用戶,誰是follower

??

存儲關系使用數據庫最方便,也有利于后期的數據分析,我選擇sqlite數據庫,因為Python自帶sqlite,sqlite在Python中使用起來也非常方便。??

數據庫中需要2個表,一個表存儲用戶的相互關注信息,另一個表存儲用戶的基本信息,在B站的用戶體系中,一個用戶的mid號是唯一的。??

然后我還需要一個列表來存儲所以已經爬取的用戶,防止重復爬取,畢竟用戶之間相互關注的現象也是存在的,列表中存用戶的mid號就可以了。

2.新建數據庫

先寫建數據庫的代碼,數據庫中放一個用戶表,一個關系表:?

3.爬取前5頁的用戶數據

我需要找到B站用戶的關注列表的json接口,很快就找到了,地址是:

https://api.bilibili.com/x/relation/followings?vmid=2&pn=1&ps=20&order=desc&jsonp=jsonp&callback=__jp7??

  • 其中vimd=后的參數就是用戶的mid號

  • pn=1指用戶的關注的第一面用戶,一面顯示20個用戶

因為B站的隱私設置,一個人只能爬取其他人的前5頁關注,共100人。?

整個爬取頁面的思路比較簡單,首先設置header,用requests庫進行API請求,獲得關注的用戶數據列表。

我們爬取前5頁,每一頁的數據進行簡單的處理,然后轉為字典數據進行獲取mid,uname,sign3個維度的數據,最后save()函數存入db.

4.存入數據庫

我們數據集里面一共有2個表,一個用戶列表,用來存儲所以的用戶信息,一個是用戶之間的關注信息。

5.探秘是熱門UP主

打算利用已經爬取到本地的數據進行詞云的生成,來看一下這10萬用戶中共同的關注的哪些UP主出現的次數最多。

代碼的思路主要是從數據庫中獲取用戶的名字,重復的次數越多說明越多的用戶關注,然后我使用fate的一張圖片作為詞云的mask圖片,最后生成詞云圖片。

最后一起來看一下詞云圖

可以看出蕾絲,暴走漫畫,木魚水心,參透之C君,papi醬等B站大UP主都是熱門關注。?


如果大家周圍有對數據分析&數據挖掘感興趣的朋友,歡迎在朋友圈分享&轉發一下,讓更多的朋友加入我們。有好的文章也可以聯系我與大家分享,需要獲取代碼轉載本公眾號文章,可以直接在公眾號或者文章下方留言

往期文章:

總結

以上是生活随笔為你收集整理的爬取B站10万数据,看看都有哪些热门的UP主的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。