久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

碉堡了!一小時(shí)爬取百萬(wàn)知乎用戶信息的Python神器曝光

本文轉(zhuǎn)載自簡(jiǎn)書(shū),由馬哥教育Python運(yùn)維班3期學(xué)員推薦,原文作者為志朋,經(jīng)小編編輯而成,如有漏洞,歡迎指正,并最后致謝作者的辛苦付出。

知乎是一個(gè)真實(shí)的網(wǎng)絡(luò)問(wèn)答社區(qū),社區(qū)氛圍友好與理性,連接各行各業(yè)的精英。用戶分享著彼此的專業(yè)知識(shí)、經(jīng)驗(yàn)和見(jiàn)解,為中文互聯(lián)網(wǎng)源源不斷地提供高質(zhì)量的信息。與此同時(shí),知乎也是由Python開(kāi)發(fā)而成,有許多的Python愛(ài)好者都愿意用知乎做一些爬蟲(chóng)實(shí)驗(yàn)。

下面我們來(lái)看看Pythoner志朋的爬蟲(chóng)實(shí)驗(yàn)。


一、使用的技術(shù)棧:

爬蟲(chóng):Python27 +requests+json+bs4+time

分析工具: ELK套件

開(kāi)發(fā)工具:pycharm

二、數(shù)據(jù)成果

爬取了知乎部分的用戶數(shù)據(jù)信息。

三、簡(jiǎn)單的可視化分析

1.性別分布

0 綠色代表的是男性 ^ . ^ ——1代表的是女性———— ?-1 性別不確定

可見(jiàn)知乎的用戶男性頗多。

碉堡了!一小時(shí)爬取百萬(wàn)知乎用戶信息的Python神器曝光

2.粉絲最多的top30

粉絲最多的前三十名:依次是張佳瑋、李開(kāi)復(fù)、黃繼新等等,去知乎上查這些人,也差不多這個(gè)排名,說(shuō)明爬取的數(shù)據(jù)具有一定的說(shuō)服力。

碉堡了!一小時(shí)爬取百萬(wàn)知乎用戶信息的Python神器曝光

3.寫(xiě)文章最多的top30

碉堡了!一小時(shí)爬取百萬(wàn)知乎用戶信息的Python神器曝光

四、爬蟲(chóng)架構(gòu)

爬蟲(chóng)架構(gòu)圖如下:

碉堡了!一小時(shí)爬取百萬(wàn)知乎用戶信息的Python神器曝光

說(shuō)明:

選擇一個(gè)活躍的用戶(比如李開(kāi)復(fù))的url作為入口url.并將已爬取的url存在set中。

抓取內(nèi)容,并解析該用戶的關(guān)注的用戶的列表url,添加這些url到另一個(gè)set中,并用已爬取的url作為過(guò)濾。

解析該用戶的個(gè)人信息,并存取到本地磁盤(pán)。

logstash取實(shí)時(shí)的獲取本地磁盤(pán)的用戶數(shù)據(jù),并給elsticsearch

kibana和elasticsearch配合,將數(shù)據(jù)轉(zhuǎn)換成用戶友好的可視化圖形。

五.編碼

爬取一個(gè)url:

碉堡了!一小時(shí)爬取百萬(wàn)知乎用戶信息的Python神器曝光

解析內(nèi)容:

碉堡了!一小時(shí)爬取百萬(wàn)知乎用戶信息的Python神器曝光

存本地文件:

碉堡了!一小時(shí)爬取百萬(wàn)知乎用戶信息的Python神器曝光

代碼說(shuō)明:

需要修改獲取requests請(qǐng)求頭的authorization。

需要修改你的文件存儲(chǔ)路徑。

源碼下載:https://github.com/forezp/ZhihuSpiderMan,記得star哦!

六.如何獲取authorization

打開(kāi)chorme,打開(kāi)https://www.zhihu.com/,

登陸,首頁(yè)隨便找個(gè)用戶,進(jìn)入他的個(gè)人主頁(yè),F(xiàn)12(或鼠標(biāo)右鍵,點(diǎn)檢查)

點(diǎn)擊關(guān)注,刷新頁(yè)面,見(jiàn)圖:

碉堡了!一小時(shí)爬取百萬(wàn)知乎用戶信息的Python神器曝光

七、可改進(jìn)的地方

可增加線程池,提高爬蟲(chóng)效率

存儲(chǔ)url的時(shí)候我才用的set(),并且采用緩存策略,最多只存2000個(gè)url,防止內(nèi)存不夠,其實(shí)可以存在redis中。

存儲(chǔ)爬取后的用戶我說(shuō)采取的是本地文件的方式,更好的方式應(yīng)該是存在mongodb中。

對(duì)爬取的用戶應(yīng)該有一個(gè)信息的過(guò)濾,比如用戶的粉絲數(shù)需要大與100或者參與話題數(shù)大于10等才存儲(chǔ)。防止抓取了過(guò)多的僵尸用戶。

八.關(guān)于ELK套件

關(guān)于elk的套件安裝就不討論了,具體見(jiàn)官網(wǎng)就行了。網(wǎng)站:https://www.elastic.co/

另外logstash的配置文件如下:

碉堡了!一小時(shí)爬取百萬(wàn)知乎用戶信息的Python神器曝光

九、結(jié)語(yǔ)

從爬取的用戶數(shù)據(jù)可分析的地方很多,比如地域、學(xué)歷、年齡等等,我就不一一列舉了。

另外,我覺(jué)得爬蟲(chóng)是一件非常有意思的事情,在這個(gè)內(nèi)容消費(fèi)升級(jí)的年代,如何在廣闊的互聯(lián)網(wǎng)的數(shù)據(jù)海洋中挖掘有價(jià)值的數(shù)據(jù),是一件值得思考和需不斷踐行的事情。

最后,本文僅用作交流學(xué)習(xí),一切數(shù)據(jù)歸知乎所有。

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國(guó)內(nèi)好評(píng)如潮的Linux云計(jì)算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開(kāi)發(fā)專業(yè)人才培訓(xùn)機(jī)構(gòu)!

    1. 主站蜘蛛池模板: 大英县| 大宁县| 东山县| 株洲县| 合肥市| 广昌县| 虞城县| 怀远县| 四平市| 清镇市| 灵台县| 焦作市| 米泉市| 遂川县| 常德市| 孝义市| 永康市| 利川市| 峨眉山市| 沙湾县| 本溪市| 沭阳县| 庐江县| 怀来县| 德令哈市| 和田县| 惠来县| 安国市| 玉溪市| 宁安市| 麟游县| 盖州市| 崇左市| 建阳市| 贺兰县| 南和县| 疏附县| 剑川县| 辰溪县| 双峰县| 霞浦县|