歡迎大家關(guān)注騰訊云技術(shù)社區(qū)-博客園官方主頁,我們將持續(xù)在博客園為大家推薦技術(shù)精品文章哦~
作者 :崔慶才
本節(jié)分享一下爬取知乎用戶所有用戶信息的 Scrapy 爬蟲實戰(zhàn)。
本節(jié)目標(biāo)
本節(jié)要實現(xiàn)的內(nèi)容有:
從一個大V用戶開始,通過遞歸抓取粉絲列表和關(guān)注列表,實現(xiàn)知乎所有用戶的詳細(xì)信息的抓取。
將抓取到的結(jié)果存儲到 MongoDB,并進(jìn)行去重操作。
思路分析
我們都知道每個人都有關(guān)注列表和粉絲列表,尤其對于大V來說,粉絲和關(guān)注尤其更多。
如果我們從一個大V開始,首先可以獲取他的個人信息,然后我們獲取他的粉絲列表和關(guān)注列表,然后遍歷列表中的每一個用戶,進(jìn)一步抓取每一個用戶的信息還有他們各自的粉絲列表和關(guān)注列表,然后再進(jìn)一步遍歷獲取到的列表中的每一個用戶,進(jìn)一步抓取他們的信息和關(guān)注粉絲列表,循環(huán)往復(fù),不斷遞歸,這樣就可以做到一爬百,百爬萬,萬爬百萬,通過社交關(guān)系自然形成了一個爬取網(wǎng),這樣就可以爬到所有的用戶信息了。當(dāng)然零粉絲零關(guān)注的用戶就忽略他們吧~
爬取的信息怎樣來獲得呢?不用擔(dān)心,通過分析知乎的請求就可以得到相關(guān)接口,通過請求接口就可以拿到用戶詳細(xì)信息和粉絲、關(guān)注列表了。
接下來我們開始實戰(zhàn)爬取。
環(huán)境需求
Python3
本項目使用的 Python 版本是 Python3,項目開始之前請確保你已經(jīng)安裝了Python3。
Scrapy
Scrapy 是一個強大的爬蟲框架,安裝方式如下:
pip3 install scrapy