摘要:我突發(fā)奇想學(xué)這么久了,為啥不用爬取站中我關(guān)注的人,已經(jīng)關(guān)注的人他們關(guān)注的人,看看全站里面熱門的主都是是哪些。探秘是熱門主打算利用已經(jīng)爬取到本地的數(shù)據(jù)進(jìn)行詞云的生成,來(lái)看一下這萬(wàn)用戶中共同的關(guān)注的哪些主出現(xiàn)的次數(shù)最多。
Python(發(fā)音:英[?pa?θ?n],美[?pa?θɑ:n]),是一種面向?qū)ο?、直譯式電腦編程語(yǔ)言,也是一種功能強(qiáng)大的通用型語(yǔ)言,已經(jīng)具有近二十年的發(fā)展歷史,成熟且穩(wěn)定。它包含了一組完善而且容易理解的標(biāo)準(zhǔn)庫(kù),能夠輕松完成很多常見(jiàn)的任務(wù)。它的語(yǔ)法非常簡(jiǎn)捷和清晰,與其它大多數(shù)程序設(shè)計(jì)語(yǔ)言不一樣,它使用縮進(jìn)來(lái)定義語(yǔ)句。
Python支持命令式程序設(shè)計(jì)、面向?qū)ο蟪绦蛟O(shè)計(jì)、函數(shù)式編程、面向切面編程、泛型編程多種編程范式。與Scheme、Ruby、Perl、Tcl等動(dòng)態(tài)語(yǔ)言一樣,Python具備垃圾回收功能,能夠自動(dòng)管理存儲(chǔ)器使用。它經(jīng)常被當(dāng)作腳本語(yǔ)言用于處理系統(tǒng)管理任務(wù)和網(wǎng)絡(luò)程序編寫,然而它也非常適合完成各種高級(jí)任務(wù)。Python虛擬機(jī)本身幾乎可以在所有的作業(yè)系統(tǒng)中運(yùn)行。使用一些諸如py2exe、PyPy、PyInstaller之類的工具可以將Python源代碼轉(zhuǎn)換成可以脫離Python解釋器運(yùn)行的程序。
粉絲獨(dú)白
說(shuō)起熱門的B站相信很多喜歡玩動(dòng)漫的,看最有創(chuàng)意的Up主的同學(xué)一定非常熟悉。我突發(fā)奇想學(xué)Python這么久了,為啥不用Python爬取B站中我關(guān)注的人,已經(jīng)關(guān)注的人他們關(guān)注的人,看看全站里面熱門的UP主都是是哪些。
要點(diǎn):
爬取10萬(wàn)用戶數(shù)據(jù)
數(shù)據(jù)存儲(chǔ)
數(shù)據(jù)詞云分析
1.準(zhǔn)備階段
寫代碼前先構(gòu)思思路:既然我要爬取用戶關(guān)注的用戶,那我需要存儲(chǔ)用戶之間的關(guān)系,確定誰(shuí)是主用戶,誰(shuí)是follower。
存儲(chǔ)關(guān)系使用數(shù)據(jù)庫(kù)最方便,也有利于后期的數(shù)據(jù)分析,我選擇sqlite數(shù)據(jù)庫(kù),因?yàn)镻ython自帶sqlite,sqlite在Python中使用起來(lái)也非常方便。
數(shù)據(jù)庫(kù)中需要2個(gè)表,一個(gè)表存儲(chǔ)用戶的相互關(guān)注信息,另一個(gè)表存儲(chǔ)用戶的基本信息,在B站的用戶體系中,一個(gè)用戶的mid號(hào)是唯一的。
然后我還需要一個(gè)列表來(lái)存儲(chǔ)所以已經(jīng)爬取的用戶,防止重復(fù)爬取,畢竟用戶之間相互關(guān)注的現(xiàn)象也是存在的,列表中存用戶的mid號(hào)就可以了。
2.新建數(shù)據(jù)庫(kù)
先寫建數(shù)據(jù)庫(kù)的代碼,數(shù)據(jù)庫(kù)中放一個(gè)用戶表,一個(gè)關(guān)系表:
3.爬取前5頁(yè)的用戶數(shù)據(jù)
我需要找到B站用戶的關(guān)注列表的json接口,很快就找到了,地址是:
https://api.bilibili.com/x/re...
其中vimd=后的參數(shù)就是用戶的mid號(hào)
pn=1指用戶的關(guān)注的第一面用戶,一面顯示20個(gè)用戶
因?yàn)锽站的隱私設(shè)置,一個(gè)人只能爬取其他人的前5頁(yè)關(guān)注,共100人。
整個(gè)爬取頁(yè)面的思路比較簡(jiǎn)單,首先設(shè)置header,用requests庫(kù)進(jìn)行API請(qǐng)求,獲得關(guān)注的用戶數(shù)據(jù)列表。
我們爬取前5頁(yè),每一頁(yè)的數(shù)據(jù)進(jìn)行簡(jiǎn)單的處理,然后轉(zhuǎn)為字典數(shù)據(jù)進(jìn)行獲取mid,uname,sign3個(gè)維度的數(shù)據(jù),最后save()函數(shù)存入db.
4.存入數(shù)據(jù)庫(kù)
我們數(shù)據(jù)集里面一共有2個(gè)表,一個(gè)用戶列表,用來(lái)存儲(chǔ)所以的用戶信息,一個(gè)是用戶之間的關(guān)注信息。
5.探秘是熱門UP主
打算利用已經(jīng)爬取到本地的數(shù)據(jù)進(jìn)行詞云的生成,來(lái)看一下這10萬(wàn)用戶中共同的關(guān)注的哪些UP主出現(xiàn)的次數(shù)最多。
代碼的思路主要是從數(shù)據(jù)庫(kù)中獲取用戶的名字,重復(fù)的次數(shù)越多說(shuō)明越多的用戶關(guān)注,然后我使用fate的一張圖片作為詞云的mask圖片,最后生成詞云圖片。
最后一起來(lái)看一下詞云圖
可以看出蕾絲,暴走漫畫,木魚水心,參透之C君,papi醬等B站大UP主都是熱門關(guān)注。
Python可以做什么?
web開(kāi)發(fā)和 爬蟲(chóng)是比較適合 零基礎(chǔ)的
自動(dòng)化運(yùn)維 運(yùn)維開(kāi)發(fā) 和 自動(dòng)化測(cè)試 是適合 已經(jīng)在做運(yùn)維和測(cè)試的人員
大數(shù)據(jù) 數(shù)據(jù)分析 這方面 是很需要專業(yè)的 專業(yè)性相對(duì)而言比較強(qiáng)
科學(xué)計(jì)算 一般都是科研人員 在用
機(jī)器學(xué)習(xí) 和 人工智能 首先 學(xué)歷 要求高 其次 高數(shù)要求高 難度很大
我有一個(gè)微信公眾號(hào),經(jīng)常會(huì)分享一些python技術(shù)相關(guān)的干貨;如果你喜歡我的分享,可以用微信搜索“python語(yǔ)言學(xué)習(xí)”關(guān)注
歡迎大家加入千人交流答疑裙:699+749+852
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/41845.html
摘要:時(shí)間永遠(yuǎn)都過(guò)得那么快,一晃從年注冊(cè),到現(xiàn)在已經(jīng)過(guò)去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時(shí)候把他們整理一下了。那是因?yàn)槭詹貖A太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...
各位童鞋,大家好,我是? 在《?UI自動(dòng)化工具輕松實(shí)現(xiàn)微信消息收發(fā)?朋友圈爬取??》文末給童鞋們布置了一個(gè)作業(yè),批量朋友圈爬取,不知道大伙們是否還有映像。 看到很多小伙伴們踴躍報(bào)名參與,不禁要給你們點(diǎn)個(gè)贊。考慮到很多小伙伴想做卻做出來(lái),這…貼心的我這不就來(lái)給你們公布參考答案啦? 對(duì)相關(guān)基礎(chǔ)還不了解的童鞋請(qǐng)參考前文: 《?UI自動(dòng)化工具輕松實(shí)現(xiàn)微信消息收發(fā)?朋友圈爬取??》 《???對(duì)比PyWi...
摘要:寫在最后近年來(lái),隨著人們思想觀念的改變,相親也逐漸得到年輕人的接受與認(rèn)可,特別是對(duì)于那些圈子比較窄,接觸不到異性的人而言。 前不久,小編刷到這樣一條短視頻,1.7億...
摘要:年之后,輿論熱點(diǎn)已經(jīng)逐漸從大數(shù)據(jù)轉(zhuǎn)向人工智能,大數(shù)據(jù)行業(yè)也歷經(jīng)整合。近一年間,一些大數(shù)據(jù)公司相繼出現(xiàn)裁員業(yè)務(wù)大調(diào)整等情況,部分公司出現(xiàn)虧損。今年開(kāi)始,部分院校將招收第一屆大數(shù)據(jù)專業(yè)本科生。 在這個(gè)信息時(shí)代高速發(fā)展的情況下,很多人會(huì)對(duì)自己該往哪個(gè)方向發(fā)展感到迷茫,下面我就淺顯的給大家介紹一下五大流行區(qū)域的發(fā)展前景。 大數(shù)據(jù)的發(fā)展前景: 當(dāng)前大數(shù)據(jù)行業(yè)真的是人才稀缺嗎? 學(xué)了幾年后,大數(shù)據(jù)...
摘要:年之后,輿論熱點(diǎn)已經(jīng)逐漸從大數(shù)據(jù)轉(zhuǎn)向人工智能,大數(shù)據(jù)行業(yè)也歷經(jīng)整合。近一年間,一些大數(shù)據(jù)公司相繼出現(xiàn)裁員業(yè)務(wù)大調(diào)整等情況,部分公司出現(xiàn)虧損。今年開(kāi)始,部分院校將招收第一屆大數(shù)據(jù)專業(yè)本科生。 在這個(gè)信息時(shí)代高速發(fā)展的情況下,很多人會(huì)對(duì)自己該往哪個(gè)方向發(fā)展感到迷茫,下面我就淺顯的給大家介紹一下五大流行區(qū)域的發(fā)展前景。 大數(shù)據(jù)的發(fā)展前景: 當(dāng)前大數(shù)據(jù)行業(yè)真的是人才稀缺嗎? 學(xué)了幾年后,大數(shù)據(jù)...
閱讀 3225·2021-11-24 09:39
閱讀 2950·2021-11-23 09:51
閱讀 903·2021-11-18 10:07
閱讀 3553·2021-10-11 10:57
閱讀 2765·2021-10-08 10:04
閱讀 3013·2021-09-26 10:11
閱讀 1062·2021-09-23 11:21
閱讀 2805·2019-08-29 17:28