百度百科全站 目前有16,330,473個詞條
這裏介紹一個基於scrapy的分佈式百度百科爬蟲,能夠全量爬取百度百科的詞條
特性
- 百科類網站全站詞條抓取,包括百度百科、互動百科、wiki中英文站點;
- 支持斷點續爬;
- 支持緩存百科詞條頁面;
- 可分佈式部署;
- 經過單機測試,在i9-9900K 內存64G 100M網絡帶寬下,百度百科詞條一天可以抓取大概50w條(默認系統配置下);互動百科測試結果
類似,wiki網站抓取數據量較少,受到配置的代理延遲影響較大;
如何使用
- 安裝依賴
pip install -r requirement.txt
- 初始數據庫
python initialize_db.py
- 初始化爬蟲種子
python initialize_tasks_seeds.py
- 開始運行爬蟲
python start_spiders.py
分佈式使用
- 單機,多次運行
python start_spiders.py
- 多機,配置好redis 和mysql 服務器,多次運行
python start_spiders.py
常見問題
- 理論上來說,只要你給的種子夠全面,你就可以儘可能的抓取到更多的詞條信息
- 種子鏈接 提取碼:iagw 來源於 百度百科 2012 dump
已知BUG
- 多進程爬取下,Redis 的內存會溢出(64G),目前改爲 1.5T內存尚未遇到BUG,運行三個小時,已使用內存高達38G
歡迎star!