GitHub上Python的爬蟲工具
阿新 • • 發佈:2019-01-04
網路相關
- 通用
網路爬蟲框架
- 其他
HTML/XML解析
- 通用
- lxml - 高效的HTML/XML處理庫。支援XPATH,用C語言寫成
- cssselect - 解析DOM樹和css選擇器
- pyquery - 解析DOM樹和jQuery選擇器
- BeautifulSoup - Python寫成的低效HTML/XMl處理庫
- html5lib - 根據WHATWG規範生成HTML/ XML文件的DOM。WHATWG規範是現在瀏覽器的通行規範
- MarkupSafe - Python的XML/HTML/XHTML安全轉義字串工具
- xmltodict - 讓你處理XML如同處理JSON一樣
- xhtml2pdf - HTML/CSS to PDF轉化器
- untangle - 講XML文件轉化為Python專案以簡化處理難度
- hodor - 支援lxml and cssselect的配置驅動包裝工具
文字處理
解析及操作文字的庫
- 轉換
- unidecode - Unicode轉化為ASCII文字
- Slug化
- awesome-slugify - 可保留Unicode的Python slugify庫
- python-slugify - 講Unicode轉為ASCII的Python slugify庫
- pytils - 處理俄語字串的小工具(包含pytils.translit.slugify)
- 通用解析器
- PLY - Python lex和yacc解析工具
- 電話號碼
- phonenumbers - 處理、格式化、儲存、驗證全球電話號碼
特殊格式處理
處理特編輯特殊字元格式的庫
- 通用
- Office
- python-docx - 閱讀,查詢和修改Microsoft Word 2007/2008 docx檔案
- xlwt / xlrd - 從Excel讀取及寫入資料和格式化資訊
- XlsxWriter - 用於穿件Excel .xlsx檔案的Python模組
- xlwings - 一個BSD許可的庫,是Excel與Python互相呼叫更加簡單
- openpyxl - 可讀取、編輯Excel 2010xlsx/xlsm/xltx/xltm檔案的庫
- Marmir - 提取Python資料結構並將其轉化為表格的庫
- Markdown
- Python-Markdown - 一個用Python實現的John Gruber的Markdown
- Mistune - 速度最快,功能全面的Markdown純Python解析器
- markdown2 - 一個完全用Python實現的快速的Markdown
- YAML
- PyYAML - 一個Python的YAML解析器
- CSS
- cssutils - 一個Python的CSS庫
- ATOM/RSS
- SQL
- sqlparse - 一個無驗證的SQL語句分析器
- HTTP
- http-parser - C語言實現的HTTP請求/響應訊息解析器
- Microformats
- opengraph - 一個用來解析Open Graph協議標籤的Python模組
- 可移植的執行體
- pefile - 一個多平臺的用於解析和處理可移植執行體(即PE)檔案的模組
- PSD
- psd-tools - 將Adobe Photoshop PSD(即PE)檔案讀取到Python資料結構
自然語言處理
自然語言處理庫
- NLTK - Python自然語言處理領先者
- Pattern - Python的網路挖掘模組。他有自然語言處理工具,機器學習以及其它
- TextBlob - 為深入處理自然語言的專案提供API,參考了NLTK及其他
- jieba - 中文分詞
- loso - 中文分詞庫
- genius -基於條件隨機域的中文分詞
- pymorphy2 - 俄語形態分析器(詞性標註+詞形變化引擎)
- PyPLN - 用Python編寫的分散式自然語言處理通道。這個專案的目標是建立一種簡單的方法使用NLTK通過網路介面處理大語言庫
- langdetect - Python的谷歌語言檢測庫埠
瀏覽器自動化與模擬
- 瀏覽器
- Headless工具
- xvfbwrapper - 用於在X虛擬幀緩衝區(Xvfb)中執行顯示的Python包裝器
多程序併發
- threading - Python標準庫的多執行緒執行。因為python GIL限制,對於I/O密集型任務很有效,對於CPU繫結的任務沒用
- celery - 基於分散式訊息傳遞的非同步任務佇列/作業佇列
- concurrent-futures - concurrent.futures模組提供用於非同步執行callable的高階介面
非同步
非同步網路程式設計庫
- asyncio - 非同步I/O,時間迴圈,協同程式和任務(Python 3.4以上版本的Python標準庫)
- Twisted - 基於事件驅動的網路引擎框架
- Tornado - 一個Web框架及非同步網路庫
- pulsar - Python事件驅動的併發框架
- diesel - Python的基於Greenlet的I/O框架
- gevent - 一個基於協同程式的Python網路庫,使用greenlet
- eventlet - 有WSGI支援的非同步框架
佇列
- celery - 基於分散式訊息傳遞的非同步任務佇列/作業佇列
- huey - 小型多執行緒任務佇列
- mrq - Mr. Queue - 使用redis & Gevent 的Python分散式工作任務佇列
- RQ - 基於Redis的輕量級任務佇列管理器
- simpleq - 一個簡單的,可無限擴充套件,基於Amazon SQS的佇列
雲端計算
- picloud - 在雲端執行Python
- dominoup.com - 在雲端執行R, Python及matlab程式碼
電子郵件
電子郵件處理庫
URL和網路地址操作
URL和網路地址操作庫
- URL
- furl - 一個小的Python庫,使得操縱URL簡單化
- purl - 一個簡單的不可改變的URL以及一個乾淨的用於除錯和操作的API
- urllib.parse - 用於打破統一資源定位器(URL)的字串在元件(定址方案,網路位置,路徑等)之間的隔斷,為了結合元件到一個URL字串,並將“相對URL”轉化為一個絕對URL,稱之為“基本URL”(標準庫)
- tldextract - 使用公共字尾列表從URL的註冊域和子域中準確分離TLD
- 網路地址
- netaddr - 用於顯示和操縱網路地址的Python庫
網頁內容提取
網頁內容提取庫
- HTML頁面的文字和元資料
- 視訊
- youtube-dl - 一個從YouTube下載視訊的小型命令列工具
- you-get - Python3寫成的YouTube/Youku/Niconico視訊下載工具
- Wiki
- WikiTeam - 下載並儲存wkiks的工具
WebSocket
用於WebSocket的庫
- Crossbar - 開源的應用訊息傳遞路由器(Python實現的用於Autobahn的WebSocket和WAMP)
- AutobahnPython - 提供了WebSocket協議和WAMP協議的Python實現並且開源
- WebSocket-for-Python - Python 2和3以及PyPy的WebSocket客戶端和伺服器庫
DNS解析
計算機視覺
- OpenCV - 開源計算機視覺庫
- SimpleCV - 用於照相機、影象處理、特徵提取、格式轉換的簡介,可讀性強的介面(基於OpenCV)
- mahotas - 快速計算機影象處理演算法(完全使用 C++ 實現),完全基於 numpy 的陣列作為它的資料型別
代理伺服器
- shadowsocks - 一個快速隧道代理,可幫你穿透防火牆(支援TCP和UDP,TFO,多使用者和平滑重啟,目的IP黑名單)
- tproxy - tproxy是一個簡單的TCP路由代理(第7層),基於Gevent,用Python進行配置
雜項
- user_agent - 此模組用於生成隨機,有效的Web導航器的配置和使用者代理HTTP header