歡迎大家關(guān)注騰訊云技術(shù)社區(qū)-博客園官方主頁(yè),我們將持續(xù)在博客園為大家推薦技術(shù)精品文章哦~

作者 :崔慶才

本節(jié)分享一下爬取知乎用戶所有用戶信息的 Scrapy 爬蟲實(shí)戰(zhàn)。

本節(jié)目標(biāo)

本節(jié)要實(shí)現(xiàn)的內(nèi)容有:

  • 從一個(gè)大V用戶開始,通過遞歸抓取粉絲列表和關(guān)注列表,實(shí)現(xiàn)知乎所有用戶的詳細(xì)信息的抓取。

  • 將抓取到的結(jié)果存儲(chǔ)到 MongoDB,并進(jìn)行去重操作。

思路分析

我們都知道每個(gè)人都有關(guān)注列表和粉絲列表,尤其對(duì)于大V來(lái)說,粉絲和關(guān)注尤其更多。

如果我們從一個(gè)大V開始,首先可以獲取他的個(gè)人信息,然后我們獲取他的粉絲列表和關(guān)注列表,然后遍歷列表中的每一個(gè)用戶,進(jìn)一步抓取每一個(gè)用戶的信息還有他們各自的粉絲列表和關(guān)注列表,然后再進(jìn)一步遍歷獲取到的列表中的每一個(gè)用戶,進(jìn)一步抓取他們的信息和關(guān)注粉絲列表,循環(huán)往復(fù),不斷遞歸,這樣就可以做到一爬百,百爬萬(wàn),萬(wàn)爬百萬(wàn),通過社交關(guān)系自然形成了一個(gè)爬取網(wǎng),這樣就可以爬到所有的用戶信息了。當(dāng)然零粉絲零關(guān)注的用戶就忽略他們吧~

爬取的信息怎樣來(lái)獲得呢?不用擔(dān)心,通過分析知乎的請(qǐng)求就可以得到相關(guān)接口,通過請(qǐng)求接口就可以拿到用戶詳細(xì)信息和粉絲、關(guān)注列表了。

接下來(lái)我們開始實(shí)戰(zhàn)爬取。

環(huán)境需求

Python3

本項(xiàng)目使用的 Python 版本是 Python3,項(xiàng)目開始之前請(qǐng)確保你已經(jīng)安裝了Python3。

Scrapy

Scrapy 是一個(gè)強(qiáng)大的爬蟲框架,安裝方式如下:

pip3 install scrapy

網(wǎng)友評(píng)論