可能是最全面的75個Python爬蟲資源
01-24
網路
網路爬蟲框架
- 功能齊全的爬蟲
- grab - 網路爬蟲框架(基於pycurl/multicur)。
- scrapy - 網路爬蟲框架(基於twisted)。
- pyspider - 一個強大的爬蟲系統。
- cola - 一個分散式爬蟲框架。
- 其他
- portia - 基於Scrapy的可視化爬蟲。
- restkit - Python的HTTP資源工具包。它可以讓你輕鬆地訪問HTTP資源,並圍繞它建立的對象。
- demiurge - 基於PyQuery的爬蟲微框架。
HTML/XML解析器
文本處理
用於解析和操作簡單文本的庫。
- unidecode - 將Unicode文本轉為ASCII。
- PLY - lex和yacc解析工具的Python實現。
- pyparsing - 一個通用框架的生成語法分析器。
- python-nameparser -解析人的名字的組件。
- phonenumbers -解析,格式化,存儲和驗證國際電話號碼。
- python-user-agents - 瀏覽器用戶代理的解析器。
- HTTP Agent Parser - Python的HTTP代理分析器。
特定格式文件處理
解析和處理特定文本格式的庫。
- tablib - 一個把數據導出為XLS、CSV、JSON、YAML等格式的模塊。
- textract - 從各種文件中提取文本,比如 Word、PowerPoint、PDF等。
- messytables - 解析混亂的表格數據的工具。
- rows - 一個常用數據介面,支持的格式很多(目前支持CSV,HTML,XLS,TXT – 將來還會提供更多!)。
- python-docx - 讀取,查詢和修改的Microsoft Word2007/2008的docx文件。
- xlwt / xlrd - 從Excel文件讀取寫入數據和格式信息。
- XlsxWriter - 一個創建Excel.xlsx文件的Python模塊。
- xlwings - 一個BSD許可的庫,可以很容易地在Excel中調用Python,反之亦然。
- openpyxl - 一個用於讀取和寫入的Excel2010 XLSX/ XLSM/ xltx/ XLTM文件的庫。
- Marmir - 提取Python數據結構並將其轉換為電子表格。
- PyYAML - 一個Python的YAML解析器。
- cssutils - 一個Python的CSS庫。
- sqlparse - 一個非驗證的SQL語句分析器。
- http-parser - C語言實現的HTTP請求/響應消息解析器。
- opengraph - 一個用來解析Open Graph協議標籤的Python模塊。
- pefile - 一個多平台的用於解析和處理可移植執行體(即PE)文件的模塊。
- psd-tools - 將Adobe Photoshop PSD(即PE)文件讀取到Python數據結構。
自然語言處理
處理人類語言問題的庫。
- NLTK -編寫Python程序來處理人類語言數據的最好平台。
- Pattern - Python的網路挖掘模塊。他有自然語言處理工具,機器學習以及其它。
- TextBlob - 為深入自然語言處理任務提供了一致的API。是基於NLTK以及Pattern的巨人之肩上發展的。
- jieba - 中文分詞工具。
- SnowNLP - 中文文本處理庫。
- loso - 另一個中文分詞庫。
- genius - 基於條件隨機域的中文分詞。
- langid.py - 獨立的語言識別系統。
- Korean - 一個韓文形態庫。
- pymorphy2 - 俄語形態分析器(詞性標註+詞形變化引擎)。
- PyPLN – 用Python編寫的分散式自然語言處理通道。這個項目的目標是創建一種簡單的方法使用NLTK通過網路介面處理大語言庫。
瀏覽器自動化與模擬
- selenium - 自動化真正的瀏覽器(Chrome瀏覽器,火狐瀏覽器,Opera瀏覽器,IE瀏覽器)。
- Ghost.py - 對PyQt的webkit的封裝(需要PyQT)。
- Spynner - 對PyQt的webkit的封裝(需要PyQT)。
- Splinter - 通用API瀏覽器模擬器(selenium web驅動,Django客戶端,Zope)。
多重處理
非同步
非同步網路編程庫
隊列
- celery - 基於分散式消息傳遞的非同步任務隊列/作業隊列。
- huey - 小型多線程任務隊列。
- mrq - Mr. Queue – 使用redis & Gevent 的Python分散式工作任務隊列。
- RQ - 基於Redis的輕量級任務隊列管理器。
- simpleq - 一個簡單的,可無限擴展,基於Amazon SQS的隊列。
- python-gearman - Gearman的Python API。
雲計算
- picloud - 雲端執行Python代碼。
- dominoup.com - 雲端執行R,Python和matlab代碼。
電子郵件
電子郵件解析庫
- flanker - 電子郵件地址和Mime解析庫。
- Talon - Mailgun庫用於提取消息的報價和簽名。
網址和網路地址操作
解析/修改網址和網路地址庫。
- URL
- furl - 一個小的Python庫,使得操縱URL簡單化。
- purl - 一個簡單的不可改變的URL以及一個乾淨的用於調試和操作的API。
- urllib.parse - 用於打破統一資源定位器(URL)的字元串在組件(定址方案,網路位置,路徑等)之間的隔斷,為了結合組件到一個URL字元串,並將「相對URL」轉化為一個絕對URL,稱之為「基本URL」。
- tldextract - 從URL的註冊域和子域中準確分離TLD,使用公共後綴列表。
- 網路地址
- netaddr – 用於顯示和操縱網路地址的Python庫。
網頁內容提取
提取網頁內容的庫。
- 維基
- WikiTeam - 下載和保存wikis的工具。
WebSocket
用於WebSocket的庫。
DNS解析
- dnsyo - 在全球超過1500個的DNS伺服器上檢查你的DNS。
- pycares - c-ares的介面。c-ares是進行DNS請求和非同步名稱決議的C語言庫。
計算機視覺
- OpenCV - 開源計算機視覺庫。
- SimpleCV – 用於照相機、圖像處理、特徵提取、格式轉換的簡介,可讀性強的介面(基於OpenCV)。
- mahotas – 快速計算機圖像處理演算法(完全使用 C++ 實現),完全基於 numpy 的數組作為它的數據類型。
代理伺服器
- shadowsocks – 一個快速隧道代理,可幫你穿透防火牆(支持TCP和UDP,TFO,多用戶和平滑重啟,目的IP黑名單)。
- tproxy - tproxy是一個簡單的TCP路由代理(第7層),基於Gevent,用Python進行配置。
其他Python工具列表
- awesome-python
- pycrumbs
- python-github-projects
- python_reference
- pythonidae
為了方便大家學習,我建立了一個Python交流群,目前群內已經有350個小夥伴,學習寂寞的小夥伴不妨一起來玩~群號:542679406
你想更深入了解學習Python知識體系,你可以看一下我們花費了一個多月整理了上百小時的幾百個知識點體系內容:
【超全整理】《Python自動化全能開發從入門到精通》筆記全放送
推薦閱讀:
※爬蟲入門到精通-mongodb的基本使用
※[18] Python元組
※一步一步教你用Python畫出專業的K線圖
※如何看待微軟 Pyjion 的進展以及 CPython 性能優化的未來?
※安卓運行Python的神器:QPython