百度百科全站爬取教程

百度百科全站 目前有16,330,473個詞條

這裏介紹一個基於scrapy的分佈式百度百科爬蟲,能夠全量爬取百度百科的詞條

github地址

特性

  • 百科類網站全站詞條抓取,包括百度百科、互動百科、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

redis監控

歡迎star!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章