Python 網絡爬蟲的常用庫匯總


爬蟲的編程語言有不少,但 Python 絕對是其中的主流之一。下面就為大家介紹下 Python 在編寫網絡爬蟲常常用到的一些庫。

請求庫:實現 HTTP 請求操作

  • urllib:一系列用於操作URL的功能。
  • requests:基於 urllib 編寫的,阻塞式 HTTP 請求庫,發出一個請求,一直等待服務器響應后,程序才能進行下一步處理。
  • selenium:自動化測試工具。一個調用瀏覽器的 driver,通過這個庫你可以直接調用瀏覽器完成某些操作,比如輸入驗證碼。
  • aiohttp:基於 asyncio 實現的 HTTP 框架。異步操作借助於 async/await 關鍵字,使用異步庫進行數據抓取,可以大大提高效率。

解析庫:從網頁中提取信息

  • beautifulsoup:html 和 XML 的解析,從網頁中提取信息,同時擁有強大的API和多樣解析方式。
  • pyquery:jQuery 的 Python 實現,能夠以 jQuery 的語法來操作解析 HTML 文檔,易用性和解析速度都很好。
  • lxml:支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高。
  • tesserocr:一個 OCR 庫,在遇到驗證碼(圖形驗證碼為主)的時候,可直接用 OCR 進行識別。

存儲庫:Python 與數據庫交互

  • pymysql:一個純 Python 實現的 MySQL 客戶端操作庫。
  • pymongo:一個用於直接連接 mongodb 數據庫進行查詢操作的庫。
  • redisdump:一個用於 redis 數據導入/導出的工具。基於 ruby 實現的,因此使用它,需要先安裝 Ruby。

爬蟲框架

  • Scrapy:很強大的爬蟲框架,可以滿足簡單的頁面爬取(比如可以明確獲知url pattern的情況)。用這個框架可以輕松爬下來如亞馬遜商品信息之類的數據。但是對於稍微復雜一點的頁面,如 weibo 的頁面信息,這個框架就滿足不了需求了。
  • Crawley:高速爬取對應網站的內容,支持關系和非關系數據庫,數據可以導出為 JSON、XML 等。
  • Portia:可視化爬取網頁內容。
  • newspaper:提取新聞、文章以及內容分析。
  • python-goose:java 寫的文章提取工具。
  • cola:一個分布式爬蟲框架。項目整體設計有點糟,模塊間耦合度較高。

Web 框架庫

  • flask:輕量級的 web 服務程序,簡單,易用,靈活,主要來做一些 API 服務。做代理時可能會用到。
  • django:一個 web 服務器框架,提供了一個完整的后台管理,引擎、接口等,使用它可做一個完整網站。

相關推薦:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM