天天看點

156個Python網絡爬蟲資源,媽媽再也不用擔心你找不到資源了

本清單包含Python網頁抓取和資料處理相關的庫。

前幾天有私信小編要Python的學習資料,小編整理了一些有深度的Python教程和參考資料,從入門到進階的都有,檔案已經打包好了,正在學習Python的同學可以下載下傳學習學習。檔案下載下傳方式:在群檔案中下載下傳:719139688。首先把代碼撸起來!首先把代碼撸起來!首先把代碼撸起來!重要的事說三遍,哈哈。“程式設計是門手藝活”。什麼意思?得練啊。

網絡相關

  • 通用
  • urllib – 網絡庫(标準庫)
  • requests – 網絡庫
  • grab – 網絡庫(基于pycurl)
  • pycurl – 網絡庫 (與libcurl綁定)
  • urllib3 – 具有線程安全連接配接池、檔案psot支援、高可用的Python HTTP庫
  • httplib2 – 網絡庫
  • RoboBrowser – 一個無需獨立浏覽器即可通路網頁的簡單、pythonic的庫
  • MechanicalSoup – 能完成自動網站互動的Python庫
  • mechanize – 有狀态、可程式設計的網頁浏覽庫。
  • socket – 底層網絡接口(标準庫)
  • Unirest for Python – 一套支援多種語言的輕量級HTTP庫
  • hyper – Python HTTP/2用戶端
  • PySocks – SocksiPy持續更新并維護的版本,指出bug修複和一些其他功能,可以作為socket子產品的替代品
  • 異步
  • treq – 基于twisted、與requests類似的API
  • aiohttp – asyncio的HTTP用戶端/伺服器 (PEP-3156)

網絡爬蟲架構

  • 全能型爬蟲
  • grab – 網絡爬蟲架構(基于pycurl/multicurl)
  • scrapy – 網絡爬蟲架構(基于twisted)
  • pyspider – 一個強力的爬蟲系統
  • cola – 一個分布式爬蟲架構
  • 其他
  • portia – 基于Scrapy的可視化爬蟲
  • restkit – Python的HTTP資源庫。允許影虎簡單的通路HTTP資源并用來建立項目
  • demiurge – 基于PyQuery的微型爬蟲架構

HTML/XML解析

  • lxml – 高效的HTML/XML處理庫。支援XPATH,用C語言寫成
  • cssselect – 解析DOM樹和css選擇器
  • pyquery – 解析DOM樹和jQuery選擇器
  • BeautifulSoup – Python寫成的低效HTML/XMl處理庫
  • html5lib – 根據WHATWG規範生成HTML/ XML文檔的DOM。WHATWG規範是現在浏覽器的通行規範
  • feedparser – 解析RSS/ATOM資訊流
  • MarkupSafe – Python的XML/HTML/XHTML安全轉義字元串工具
  • xmltodict – 讓你處理XML如同處理JSON一樣
  • xhtml2pdf – HTML/CSS to PDF轉化器
  • untangle – 講XML文檔轉化為Python項目以簡化處理難度
  • hodor – 支援lxml and cssselect的配置驅動包裝工具
  • 清理
  • Bleach – 清理HTML (需求html5lib)
  • sanitize – 将混亂的資料世界恢複清楚

文本處理

解析及操作文本的庫

  • difflib – 差異化計算工具(Python标準庫)
  • Levenshtein – 快速計算編輯距離及字元串相似度
  • fuzzywuzzy – 模糊字元串比比對
  • esmre – 正規表達式加速器.
  • ftfy – 将Unicode文本自動整理減少碎片化
  • 轉換
  • unidecode – Unicode轉化為ASCII文本
  • 字元編碼
  • uniout – 将轉移字元串輸出為可讀形式
  • chardet – Python 2/3相容字元編碼檢測器
  • xpinyin – 講漢字轉為拼音的庫
  • pangu.py – CJK及字母數字文本間距格式化
  • Slug化
  • awesome-slugify – 可保留Unicode的Python slugify庫
  • python-slugify – 講Unicode轉為ASCII的Python slugify庫
  • unicode-slugify – unicode slugs生成工具
  • pytils – 處理俄語字元串的小工具(包含pytils.translit.slugify)
  • 通用解析器
  • PLY – Python lex和yacc解析工具
  • pyparsing – 用于生成解析器的通用架構
  • 人名
  • python-nameparser – 姓名解析元件
  • 電話号碼
  • phonenumbers – 處理、格式化、存儲、驗證全球電話号碼
  • 使用者代理字元串
  • python-user-agents – 浏覽器使用者代了解析器
  • HTTP Agent Parser – Python HTTP代了解析器
  • fake-useragent – 基于全球浏覽器統計的Python使用者代理欺騙器
  • user_agent – 使用者代理資料生成器

特殊格式處理

處理特編輯特殊字元格式的庫

  • tablib – 處理XLS, CSV, JSON, YAML等表格資料的庫
  • textract – 從任何文檔中提取文本,支援Word, PowerPoint, PDF等
  • messytables – 雜亂的表格資料解析
  • rows – 支援多種格式的通用且美觀的表格資料處理器(現有CSV, HTML, XLS, TXT — 即将支援更多)
  • 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資料結構并将其轉化為表格的庫
  • PDF
  • PDFMiner – 從PDF文檔中提取資訊的工具
  • PyPDF2 – 一個分割、合并、轉換PDF檔案的庫
  • ReportLab – 可以快速建立大量PDF文檔
  • pdftables – 從PDF檔案中精準提取表格
  • Markdown
  • Python-Markdown – 一個用Python實作的John Gruber的Markdown
  • Mistune – 速度最快,功能全面的Markdown純Python解析器
  • markdown2 – 一個完全用Python實作的快速的Markdown
  • YAML
  • PyYAML – 一個Python的YAML解析器
  • CSS
  • cssutils – 一個Python的CSS庫
  • ATOM/RSS
  • feedparser – 通用的feed解析器
  • 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 – 中文分詞
  • SnowNLP – 漢字文本處理庫
  • loso – 中文分詞庫
  • genius -基于條件随機域的中文分詞
  • langid.py – 獨立的語言識别系統
  • Korean – 韓文形态庫
  • pymorphy2 – 俄語形态分析器(詞性标注+詞形變化引擎)
  • PyPLN – 用Python編寫的分布式自然語言處理通道。這個項目的目标是建立一種簡單的方法使用NLTK通過網絡接口處理大語言庫
  • langdetect – Python的谷歌語言檢測庫端口

浏覽器自動化與仿真

  • 浏覽器
  • selenium – 自動化真實浏覽器(Chrome, Firefox, Opera, IE)
  • Ghost.py – QtWebKit封裝(需求PyQT)
  • Spynner – 具備AJAX支援的程式化網頁浏覽子產品
  • Splinter – 通用API浏覽器模拟器(selenium web驅動,Django用戶端,Zope)
  • Headless工具
  • xvfbwrapper – 用于在X虛拟幀緩沖區(Xvfb)中運作顯示的Python包裝器

多程序并發

  • threading – Python标準庫的多線程運作。因為python GIL限制,對于I/O密集型任務很有效,對于CPU綁定的任務沒用
  • multiprocessing – 多程序标準庫
  • 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支援的異步架構
  • Tomorrow – 異步代碼的魔法

隊列

  • 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和網絡位址操作

URL和網絡位址操作庫

  • URL
  • furl – 一個小的Python庫,使得操縱URL簡單化
  • purl – 一個簡單的不可改變的URL以及一個幹淨的用于調試和操作的API
  • urllib.parse – 用于打破統一資源定位器(URL)的字元串在元件(尋址方案,網絡位置,路徑等)之間的隔斷,為了結合元件到一個URL字元串,并将“相對URL”轉化為一個絕對URL,稱之為“基本URL”(标準庫)
  • tldextract – 使用公共字尾清單從URL的注冊域和子域中準确分離TLD
  • 網絡位址
  • netaddr – 用于顯示和操縱網絡位址的Python庫

網頁内容提取

網頁内容提取庫

  • HTML頁面的文本和中繼資料
  • newspaper – 用Python進行新聞提取、文章提取和内容策展
  • html2text – 将HTML轉為Markdown格式文本
  • python-goose – HTML内容/文章提取器
  • lassie – 人性化的網頁内容檢索工具
  • micawber – 一個從網址中提取豐富内容的小型庫
  • sumy -一個自動彙總文本檔案和HTML網頁的子產品
  • Haul – 一個可擴充的圖像爬蟲
  • python-readability – arc90 readability工具的快速Python接口
  • scrapely – 從HTML網頁中提取結構化資料的庫。給出了一些Web頁面和資料提取的示例,scrapely為所有類似的網頁建構一個分析器
  • libextract – 從網站提取資料
  • 視訊
  • 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解析

  • dnsyo – 在全球超過1500個的DNS伺服器上檢查你的DNS
  • pycares – ic-ares的接口。c-ares是進行DNS請求和異步名稱決議的C語言庫

計算機視覺

  • OpenCV – 開源計算機視覺庫
  • SimpleCV – 用于照相機、圖像處理、特征提取、格式轉換的簡介,可讀性強的接口(基于OpenCV)
  • mahotas – 快速計算機圖像處理算法(完全使用 C++ 實作),完全基于 numpy 的數組作為它的資料類型

代理伺服器

  • shadowsocks – 一個快速隧道代理,可幫你穿透防火牆(支援TCP和UDP,TFO,多使用者和平滑重新開機,目的IP黑名單)
  • tproxy – tproxy是一個簡單的TCP路由代理(第7層),基于Gevent,用Python進行配置

雜項

  • user_agent – 此子產品用于生成随機,有效的Web導航器的配置和使用者代理HTTP header
  • awesome-python
  • pycrumbs
  • python-github-projects
  • python_reference
  • pythonidae
156個Python網絡爬蟲資源,媽媽再也不用擔心你找不到資源了