當前位置:
首頁 > 知識 > QQ空間爬蟲(一天可抓取 400 萬條數據)

QQ空間爬蟲(一天可抓取 400 萬條數據)

記得關注+轉發喲

1

環境、架構

開發語言:Python2.7

開發環境:64位Windows8系統,4G內存,i7-3612QM處理器。

資料庫:MongoDB 3.2.0

(Python編輯器:Pycharm 5.0.4;MongoDB管理工具:MongoBooster 1.1.1)

主要使用 requests 模塊抓取,部分使用 BeautifulSoup 解析。

多線程使用 multiprocessing.dummy 。

抓取 Cookie 使用 selenium 和 PhantomJS 。

判重使用 BitVector 。

2

使用說明:

啟動前配置:

MongoDB安裝好 能啟動即可,不需要配置。

Python需要安裝以下模塊(注意官方提供的模塊是針對win32系統的,64位系統用戶在使用某些模塊的時候可能會出現問題,所以盡量先找64位模塊,如果沒有64的話再去安裝32的資源):

requests、BeautifulSoup、multiprocessing、selenium、itertools、BitVector、pymongo

另外我們需要使用到 PhantomJS,這並不是 Python 的模塊,而是一個exe可執行文件,我們可以利用它模擬瀏覽器去獲取 Cookie 。使用方法:將 phantomjs-2.0.0-windows.zip 壓縮包裡面的 phantomjs.exe 放到你的 Python 目錄下就行了。

啟動程序:

進入 myQQ.txt 寫入QQ賬號和密碼(用一個空格隔開,不同QQ換行輸入),一般你開啟幾個QQ爬蟲線程,就至少需要兩倍數量的QQ用來登錄,至少要輪著登錄嘛。

進入 init_messages.py 進行爬蟲參數的配置,例如線程數量的多少、設置爬哪個時間段的日誌,哪個時間段的說說,爬多少個說說備份一次等等。

運行 init.py 文件開啟爬蟲項目。

爬蟲開始之後首先根據 myQQ.txt 裡面的QQ去獲取 Cookie(以後登錄的時候直接用已有的Cookie,就不需要每次都去拿Cookie了,遇到Cookie失效也會自動作相應的處理)。獲取完Cookie後爬蟲程序會去申請四百多兆的內存,申請的時候會佔用兩G左右的內存,大約五秒能完成申請,之後會掉回四百多M。

爬蟲程序可以中途停止,下次可打開繼續抓取。

?按住圖片左右滑動

資料庫說明


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 python 的精彩文章:

Python入門篇-python安裝教程
Python安裝篇

TAG:python |