最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用python爬取B站千萬級數(shù)據(jù)

 更新時間:2018年06月08日 08:41:42   作者:貓咪編程  
B站我想大家都熟悉吧,其實 B 站的爬蟲網(wǎng)上一搜一大堆。不過紙上得來終覺淺,絕知此事要躬行,我碼故我在。

Python(發(fā)音:英[?pa?θ?n],美[?pa?θɑ:n]),是一種面向?qū)ο?、直譯式電腦編程語言,也是一種功能強大的通用型語言,已經(jīng)具有近二十年的發(fā)展歷史,成熟且穩(wěn)定。它包含了一組完善而且容易理解的標(biāo)準(zhǔn)庫,能夠輕松完成很多常見的任務(wù)。它的語法非常簡捷和清晰,與其它大多數(shù)程序設(shè)計語言不一樣,它使用縮進來定義語句。

Python支持命令式程序設(shè)計、面向?qū)ο蟪绦蛟O(shè)計、函數(shù)式編程、面向切面編程、泛型編程多種編程范式。與Scheme、Ruby、Perl、Tcl等動態(tài)語言一樣,Python具備垃圾回收功能,能夠自動管理存儲器使用。它經(jīng)常被當(dāng)作腳本語言用于處理系統(tǒng)管理任務(wù)和網(wǎng)絡(luò)程序編寫,然而它也非常適合完成各種高級任務(wù)。Python虛擬機本身幾乎可以在所有的作業(yè)系統(tǒng)中運行。使用一些諸如py2exe、PyPy、PyInstaller之類的工具可以將Python源代碼轉(zhuǎn)換成可以脫離Python解釋器運行的程序。

粉絲獨白

說起熱門的B站相信很多喜歡玩動漫的,看最有創(chuàng)意的Up主的同學(xué)一定非常熟悉。我突發(fā)奇想學(xué)Python這么久了,為啥不用Python爬取B站中我關(guān)注的人,已經(jīng)關(guān)注的人他們關(guān)注的人,看看全站里面熱門的UP主都是是哪些。

要點:

- 爬取10萬用戶數(shù)據(jù)

- 數(shù)據(jù)存儲

- 數(shù)據(jù)詞云分析

1.準(zhǔn)備階段

寫代碼前先構(gòu)思思路:既然我要爬取用戶關(guān)注的用戶,那我需要存儲用戶之間的關(guān)系,確定誰是主用戶,誰是follower。

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

數(shù)據(jù)庫中需要2個表,一個表存儲用戶的相互關(guān)注信息,另一個表存儲用戶的基本信息,在B站的用戶體系中,一個用戶的mid號是唯一的。

然后我還需要一個列表來存儲所以已經(jīng)爬取的用戶,防止重復(fù)爬取,畢竟用戶之間相互關(guān)注的現(xiàn)象也是存在的,列表中存用戶的mid號就可以了。

2.新建數(shù)據(jù)庫

先寫建數(shù)據(jù)庫的代碼,數(shù)據(jù)庫中放一個用戶表,一個關(guān)系表:

3.爬取前5頁的用戶數(shù)據(jù)

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

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

其中vimd=后的參數(shù)就是用戶的mid號

pn=1指用戶的關(guān)注的第一面用戶,一面顯示20個用戶

因為B站的隱私設(shè)置,一個人只能爬取其他人的前5頁關(guān)注,共100人。

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

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

4.存入數(shù)據(jù)庫

我們數(shù)據(jù)集里面一共有2個表,一個用戶列表,用來存儲所以的用戶信息,一個是用戶之間的關(guān)注信息。

5.探秘是熱門UP主

打算利用已經(jīng)爬取到本地的數(shù)據(jù)進行詞云的生成,來看一下這10萬用戶中共同的關(guān)注的哪些UP主出現(xiàn)的次數(shù)最多。

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

最后一起來看一下詞云圖

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

Python可以做什么?

web開發(fā)和 爬蟲是比較適合 零基礎(chǔ)的

自動化運維 運維開發(fā) 和 自動化測試 是適合 已經(jīng)在做運維和測試的人員

大數(shù)據(jù) 數(shù)據(jù)分析 這方面 是很需要專業(yè)的 專業(yè)性相對而言比較強

科學(xué)計算 一般都是科研人員 在用

機器學(xué)習(xí) 和 人工智能 首先 學(xué)歷 要求高 其次 高數(shù)要求高 難度很大

相關(guān)文章

  • python判斷文件夾內(nèi)是否存在指定后綴文件的實例

    python判斷文件夾內(nèi)是否存在指定后綴文件的實例

    今天小編就為大家分享一篇python判斷文件夾內(nèi)是否存在指定后綴文件的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • 在python代碼中加入環(huán)境變量的語句操作

    在python代碼中加入環(huán)境變量的語句操作

    這篇文章主要介紹了在python代碼中加入環(huán)境變量的語句操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • python開頭的coding設(shè)置方法

    python開頭的coding設(shè)置方法

    今天小編就為大家分享一篇python開頭的coding設(shè)置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • django如何計算兩個TimeField的時差

    django如何計算兩個TimeField的時差

    在Django中,可以使用datetime模塊來計算兩個TimeField字段的時間差,下面通過示例代碼介紹django?計算兩個TimeField的時差,需要的朋友可以參考下
    2023-05-05
  • 使用 Python 在京東上搶口罩的思路詳解

    使用 Python 在京東上搶口罩的思路詳解

    受疫情影響全民真的在搶口罩,而且還是搶不到的那種。這篇文章主要介紹了用 Python 在京東上搶口罩的實例代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • python+Matplotlib?繪制帶置信區(qū)間的折線圖

    python+Matplotlib?繪制帶置信區(qū)間的折線圖

    這篇文章主要介紹了python繪制帶置信區(qū)間的折線圖,在本文中,我們將使用?numpy?模塊生成隨機數(shù)據(jù),并使用?matplotlib?庫實現(xiàn)數(shù)據(jù)可視化,需要的朋友可以參考下
    2023-05-05
  • python中asyncio異步編程學(xué)習(xí)

    python中asyncio異步編程學(xué)習(xí)

    這篇文章主要介紹了python中asyncio異步編程學(xué)習(xí),內(nèi)部就是基于協(xié)程實現(xiàn)的異步編程,如果想研究異步編程的同學(xué),要仔細看哦
    2021-04-04
  • 詳解python實現(xiàn)識別手寫MNIST數(shù)字集的程序

    詳解python實現(xiàn)識別手寫MNIST數(shù)字集的程序

    這篇文章主要介紹了詳解python實現(xiàn)識別手寫MNIST數(shù)字集的程序,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • python 自動軌跡繪制的實例代碼

    python 自動軌跡繪制的實例代碼

    今天小編就為大家分享一篇python 自動軌跡繪制的實例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • tensorflow實現(xiàn)圖像的裁剪和填充方法

    tensorflow實現(xiàn)圖像的裁剪和填充方法

    今天小編就為大家分享一篇tensorflow實現(xiàn)圖像的裁剪和填充方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07

最新評論

永胜县| 四子王旗| 金溪县| 托克逊县| 崇州市| 高州市| 昌吉市| 阜新| 涟水县| 衢州市| 太湖县| 扎赉特旗| 漳平市| 田阳县| 临武县| 兰西县| 亚东县| 台东市| 常宁市| 泗阳县| 阿荣旗| 禄丰县| 宁安市| 龙胜| 即墨市| 乌鲁木齐市| 方城县| 左权县| 洪雅县| 巴林右旗| 眉山市| 乌鲁木齐县| 开鲁县| 揭阳市| 乐平市| 雷波县| 荃湾区| 古交市| 高密市| 华阴市| 七台河市|