乾貨 | Python 爬蟲的工具列表大全

2022-01-04 頂級程式設計師

源  / 伯樂頭條

這個列表包含與網頁抓取和數據處理的Python庫。

網絡

通用

urllib -網絡庫(stdlib)。

requests -網絡庫。

grab – 網絡庫(基於pycurl)。

pycurl – 網絡庫(綁定libcurl)。

urllib3 – Python HTTP庫,安全連接池、支持文件post、可用性高。

httplib2 – 網絡庫。

RoboBrowser – 一個簡單的、極具Python風格的Python庫,無需獨立的瀏覽器即可瀏覽網頁。

MechanicalSoup -一個與網站自動交互Python庫。

mechanize -有狀態、可編程的Web瀏覽庫。

socket – 底層網絡接口(stdlib)。

Unirest for Python – Unirest是一套可用於多種語言的輕量級的HTTP庫。

hyper – Python的HTTP/2客戶端。

PySocks – SocksiPy更新並積極維護的版本,包括錯誤修復和一些其他的特徵。作為socket模塊的直接替換。

異步

網絡爬蟲框架HTML/XML解析器

通用

lxml – C語言編寫高效HTML/ XML處理庫。支持XPath。

cssselect – 解析DOM樹和CSS選擇器。

pyquery – 解析DOM樹和jQuery選擇器。

BeautifulSoup – 低效HTML/ XML處理庫,純Python實現。

html5lib – 根據WHATWG規範生成HTML/ XML文檔的DOM。該規範被用在現在所有的瀏覽器上。

feedparser – 解析RSS/ATOM feeds。

MarkupSafe – 為XML/HTML/XHTML提供了安全轉義的字符串。

xmltodict – 一個可以讓你在處理XML時感覺像在處理JSON一樣的Python模塊。

xhtml2pdf – 將HTML/CSS轉換為PDF。

untangle – 輕鬆實現將XML文件轉換為Python對象。

清理

文本處理

用於解析和操作簡單文本的庫。

difflib – (Python標準庫)幫助進行差異化比較。

Levenshtein – 快速計算Levenshtein距離和字符串相似度。

fuzzywuzzy – 模糊字符串匹配。

esmre – 正則表達式加速器。

ftfy – 自動整理Unicode文本,減少碎片化。

uniout – 列印可讀字符,而不是被轉義的字符串。

chardet – 兼容 Python的2/3的字符編碼器。

xpinyin – 一個將中國漢字轉為拼音的庫。

pangu.py – 格式化文本中CJK和字母數字的間距。

awesome-slugify – 一個可以保留unicode的Python slugify庫。

python-slugify – 一個可以將Unicode轉為ASCII的Python slugify庫。

unicode-slugify – 一個可以將生成Unicode slugs的工具。

pytils – 處理俄語字符串的簡單工具(包括pytils.translit.slugify)。

特定格式文件處理

解析和處理特定文本格式的庫。

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數據結構並將其轉換為電子表格。

PDFMiner – 一個從PDF文檔中提取信息的工具。

PyPDF2 – 一個能夠分割、合併和轉換PDF頁面的庫。

ReportLab – 允許快速創建豐富的PDF文檔。

pdftables – 直接從PDF文件中提取表格。

Python-Markdown – 一個用Python實現的John Gruber的Markdown。

Mistune – 速度最快,功能全面的Markdown純Python解析器。

markdown2 – 一個完全用Python實現的快速的Markdown。

自然語言處理

處理人類語言問題的庫。

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)。

多重處理

threading – Python標準庫的線程運行。對於I/O密集型任務很有效。對於CPU綁定的任務沒用,因為python GIL。

multiprocessing – 標準的Python庫運行多進程。

celery – 基於分布式消息傳遞的異步任務隊列/作業隊列。

concurrent-futures – concurrent-futures 模塊為調用異步執行提供了一個高層次的接口。

異步

異步網絡編程庫

asyncio – (在Python 3.4 +版本以上的 Python標準庫)異步I/O,時間循環,協同程序和任務。

Twisted – 基於事件驅動的網絡引擎框架。

Tornado – 一個網絡框架和異步網絡庫。

pulsar – Python事件驅動的並發框架。

diesel – Python的基於綠色事件的I/O框架。

gevent – 一個使用greenlet 的基於協程的Python網絡庫。

eventlet – 有WSGI支持的異步框架。

Tomorrow – 異步代碼的奇妙的修飾語法。

隊列

celery – 基於分布式消息傳遞的異步任務隊列/作業隊列。

huey – 小型多線程任務隊列。

mrq – Mr. Queue – 使用redis & Gevent 的Python分布式工作任務隊列。

RQ – 基於Redis的輕量級任務隊列管理器。

simpleq – 一個簡單的,可無限擴展,基於Amazon SQS的隊列。

python-gearman – Gearman的Python API。

雲計算電子郵件

電子郵件解析庫

網址和網絡地址操作

解析/修改網址和網絡地址庫。

URL

furl – 一個小的Python庫,使得操縱URL簡單化。

purl – 一個簡單的不可改變的URL以及一個乾淨的用於調試和操作的API。

urllib.parse – 用於打破統一資源定位器(URL)的字符串在組件(尋址方案,網絡位置,路徑等)之間的隔斷,為了結合組件到一個URL字符串,並將「相對URL」轉化為一個絕對URL,稱之為「基本URL」。

tldextract – 從URL的註冊域和子域中準確分離TLD,使用公共後綴列表。

網頁內容提取

提取網頁內容的庫。

HTML頁面的文本和元數據

newspaper – 用Python進行新聞提取、文章提取和內容策展。

html2text – 將HTML轉為Markdown格式文本。

python-goose – HTML內容/文章提取器。

lassie – 人性化的網頁內容檢索工具

micawber – 一個從網址中提取豐富內容的小庫。

sumy -一個自動匯總文本文件和HTML網頁的模塊

Haul – 一個可擴展的圖像爬蟲。

python-readability – arc90 readability工具的快速Python接口。

scrapely – 從HTML網頁中提取結構化數據的庫。給出了一些Web頁面和數據提取的示例,scrapely為所有類似的網頁構建一個分析器。

WebSocket

用於WebSocket的庫。

Crossbar – 開源的應用消息傳遞路由器(Python實現的用於Autobahn的WebSocket和WAMP)。

AutobahnPython – 提供了WebSocket協議和WAMP協議的Python實現並且開源。

WebSocket-for-Python – Python 2和3以及PyPy的WebSocket客戶端和伺服器庫。

DNS解析計算機視覺代理伺服器其他Python工具列表

awesome-python

pycrumbs

python-github-projects

python_reference

pythonidae

如果你感覺僅僅是這些工具還不夠,你可以嘗試一下小象學院新推出的【爬蟲系統與數據處理實戰】報名請點擊文末閱讀原文

《爬蟲系統與數據處理實戰》

原價     ¥ 899.00 

現超200人參團

 

楊真   資深軟體架構師

曾就職於Sun中國工程研究院、微軟(亞洲)網際網路工程院、騰訊北京無線事業部、完美世界等知名公司,早期負責Java虛擬機內核、移動端的產品和搜尋引擎的開發,目前帶領超過50人的資深研發團隊,從事基於大數據、人工智慧方面的產品開發,團隊涉及圖像處理(人臉識別、目標檢測)、自然語言處理(文本分類、關係抽取、機器翻譯、自動化摘要)、推薦系統、搜尋引擎、知識圖譜、自研圖資料庫、爬蟲、大數據存儲及挖掘、分布式系統架構、Web及移動端產品開發等技術領域。

 

1.  圍繞人工智慧的數據獲取應用案例來展開,旨在讓大家了解各個應用領域數據獲取的方法和技巧

2.  包含 Google、Wikipedia、微博、微信公眾號、淘寶及京東 等各類網站數據的獲取技術及方案

3.  介紹了諸如圖片識別、目標檢測、實體類型識別、文本分類、關係抽取、結構化信息、聊天機器人等數據的來源及獲取方式

4.  爬蟲的基礎技術課程,例如 HTTP、Python 的基礎等,以錄播的方式介紹,直播課程重點介紹爬蟲的應用場景

2018年4月17日  開課

在線直播,共12次課,每次2小時

每周2次(周二、周五,晚20:00 - 22:00)

直播後提供錄製回放視頻,可在線反覆觀看,有效期1年

        

第一課 靜態網頁爬蟲:爬蟲的基礎技術 

   1.  HTML
   2.  CSS 選擇器
   3.  JavaScript 介紹
   4.  lxml 及 XPath
   5.  Python 裡的網絡請求

   6.  第一個爬蟲:螞蜂窩的遊記

 

第二課 登錄及動態網頁的抓取

   1.  表單

   2.  網站登錄及Cookie

   3.  Headless 的瀏覽器:PhantomJS

   4.  瀏覽器的驅動:Selenium

   5.  動態網頁數據獲取

 

第三課 微博的抓取

   1.  微博網站分布及結構分析

   2.  通過動態頁面來抓取

   3.  微博網絡接口的逆向分析

   4.  利用API來抓取微博

 

第四課 微信公眾號抓取

   1.  AnyProxy 抓包工具

   2.  微信公眾號接口分析

   3.  利用 NodeJS 重定向接口

   4.  後臺數據獲取及保存

   5.  利用接口直接獲取所有歷史消息

   6.  應對微信公眾號反爬蟲的架構設計

 

第五課 驗證碼的處理,京東、淘寶的數據抓取及存儲案例

   1.  基於距離的圖片比對

   2.  基於 TesseractOcr 的數字識別

   3.  其它驗證碼識別方案

   4.  京東數據抓取

   5.  淘寶數據抓取

 

第六課 多線程與多進程的爬蟲

   1.  線程與進程

   2.  Python 的多線程約束

   3.  多個線程同時抓取

   4.  多個進程同時抓取

   5.  日誌系統設計

 

第七課 微博數據的存儲:分布式資料庫及應用

   1.  SQL 與 NoSQL

   2.  Hadoop 架構

   3.  HDFS

   4.  HBase

   5.  MongoDB

   6.  Redis 

   7.  基於分布式資料庫的分布式爬蟲

 

第八課 多機並行的微博抓取:分布式系統設計

   1.  守護進程

   2.  Socket 編程

   3.  Master 設計

   4.  Slave 設計

   5.  任務調度及通信協議

   6.  分布式集群部署的爬蟲

 

第九課 PageRank、網頁動態重拍及應對反爬蟲技術的手段 

   1.  PageRank 計算模型及推導

   2.  網頁抓取順序重排

   3.  網站服務架構

   4.  尋找與利用分布式伺服器

   5.  多IP技術與路由控制

   6.  幾乎可以應對所有反爬規則的爬蟲系統架構

第十課 Scrapy 爬蟲框架介紹

   1.  Sample

   2.  框架分析

   3.  自動生成爬蟲

   4.  控制臺

   5.  流水線

   6.  中間件

第十一課 文本自動抽取、網頁分類與針對文本的機器學習應用

   1.  文本的自動化抽取

   2.  文本分類

   3.  網頁分類基礎

   4.  分詞與特徵抽取

   5.  線性回歸

   6.  SVM

   7.  Logistic Regession

   8.  網頁分類

   9.  多分類器

第十二課 信息檢索、搜尋引擎原理及應用

   1.  搜尋引擎架構介紹

   2.  正排表與倒排表

   3.  Bool 模型

   4.  Vector 模型

   5.  概率模型

   6.  TF/IDF

   7.  Elastic Search

參團,諮詢,查看課程,請點擊【閱讀原文】

↓↓↓

相關焦點

  • Python 爬蟲的工具列表
    網絡爬蟲框架功能齊全的爬蟲grab – 網絡爬蟲框架(基於pycurl/multicur)。scrapy – 網絡爬蟲框架(基於twisted),不支持Python3。pyspider – 一個強大的爬蟲系統。cola – 一個分布式爬蟲框架。
  • 乾貨|理解Python爬蟲框架pyspider
    各個組件間使用消息隊列連接,除了scheduler是單點的,fetcher 和 processor 都是可以多實例分布式部署的。scheduler 負責整體的調度控制任務由 scheduler 發起調度,fetcher 抓取網頁內容, processor 執行預先編寫的python腳本,輸出結果或產生新的提鏈任務(發往 scheduler),形成閉環每個腳本可以靈活使用各種python庫對頁面進行解析,使用框架API控制下一步抓取動作,通過設置回調控制解析動作二、pyspider
  • 【工具篇】Python爬蟲用得著的工具利器
    收錄於話題 #Python爬蟲學習乾貨分享PyQuery 是 Python 仿照 jQuery 的嚴格實現。語法與 jQuery 幾乎完全相同,所以不用再去費心去記一些奇怪的方法如果你覺得正則寫起來太麻煩,BeautifulSoup語法又太難記,而你對jQuery的語法熟悉的話,PyQuery庫是個不錯的選擇。
  • AutoScraper: Python 實現的輕量級爬蟲
    【導讀】該項目專為自動爬蟲而設計,使爬蟲變得容易。它獲取網頁的url或html內容以及我們要從該頁面抓取的示例數據列表。
  • Python爬蟲實戰(2):爬取京東商品列表
    在上一篇《Python爬蟲實戰:爬取Drupal論壇帖子列表》,爬取了一個用Drupal做的論壇,是靜態頁面,抓取比較容易,即使直接解析
  • Python網絡爬蟲應用實戰
    Python這門程式語言包羅萬象,可以說掌握了python,除了一些特殊環境和高度的性能要求,你可以用它做任何事。
  • python爬蟲資源匯總:書單、網站博客、框架、工具、項目(附資源)
    隨著爬蟲技術的流行,網上的資源層出不窮,但對於初學者來說,可能難以選擇,如果選錯還會在爬蟲學習上走一些彎路。我們專門針對零基礎的同學做了一份python爬蟲資源匯總,包含書單、網站博客、框架、工具以及項目匯總。至於為什麼選擇python語言,是因為python對於小白來說更容易上手。
  • 三種 Python 網絡內容抓取工具與爬蟲
    編譯自 | https://opensource.com/resources/python/web-scraper-crawler  作者 |
  • 乾貨|Python滲透測試工具庫
    (CTF向):https://github.com/angr/angr針對python的靜態代碼分析工具:https://github.com/yinwang0/pysonar2一個自動化的腳本(shell)分析工具,用來給出警告和建議:https://github.com/koalaman/shellcheck基於
  • Python爬蟲——培訓
    Python這門程式語言包羅萬象,可以說掌握了python,除了一些特殊環境和高度的性能要求,Python 越來越適合於做科學計算。網絡爬蟲(又被稱為網頁蜘蛛,網絡機器人,在 FOAF 社區中間,更經常的稱為網頁追逐者),是一種按照一定的規則,自動的抓取全球資訊網信息的程序或者腳本。
  • Python網絡爬蟲學習資源整理
    /294.html(非常詳細的視頻教程,不過屬於進階版,如果想搞網絡爬蟲最好快點進入網絡爬蟲開發實戰中)·  智普教育python培訓就業班:http://www.qubiancheng.cn/823.html(非常詳細的Python教程)第二步——了解網絡爬蟲概念要是轉載的文章沒多大意義,我就說說自己理解的網絡爬蟲。
  • Python爬蟲入門看什麼書好 小編教你學Python
    隨著Python語言的火熱發展,目前很多人都在想學習Python,那麼Python爬蟲入門看什麼書好呢?小編為你推薦一本書,手把手教你學Python。這本書是一本實戰性的網絡爬蟲秘笈,在本書中不僅講解了如何編寫爬蟲,還講解了流行的網絡爬蟲的使用。
  • python爬蟲學習:可視化監控你的爬蟲
    可以實現對爬蟲數量,增量,大小,大小增量的實時監控。 2.存數據InfluxDb資料庫的數據有一定的格式,因為我都是利用python庫進行相關操作,所以下面將在python中的格式展示一下:其中:measurement, 表名time,時間tags,標籤fields,欄位可以看到,就是個列表裡面,嵌套了一個字典。
  • Python爬蟲的兩套解析方法和四種爬蟲實現
    對於大多數朋友而言,爬蟲絕對是學習python的最好的起手和入門方式。
  • 實戰|手把手教你用Python爬蟲(附詳細源碼)
    大家好,我是J哥,專注原創,致力於用淺顯易懂的語言分享爬蟲、數據分析及可視化等乾貨
  • 利用python爬蟲實現上網帳號驗證登陸
    在一些不方便使用可視界面的情況下,可以利用python爬蟲工具實現上網帳號的驗證登陸。
  • Python | 爬蟲框架 feapder 初體驗
    目標網站:aHR0cHM6Ly93d3cubGFnb3UuY29tLw==需求:採集職位列表與職位詳情,詳情需每7天更新一次為了演示,以下只搜索與爬蟲相關的職位1. 調研1.1 列表頁面首先我們需要看下頁面是否為動態渲染的,接口是否有反爬。
  • Python爬蟲實踐--爬取網易雲音樂
    前言最近,網易的音樂很多聽不到了,剛好也看到很多教程,跟進學習了一下,也集大全了吧,本來想優化一下的,但是發現問題還是有點複雜
  • Python使用requests+re簡單入門爬蟲
    作者:sergiojune個人公眾號:日常學python專注python爬蟲,數據可視化,數據分析,python前端技術
  • 乾貨 | 33款開源爬蟲軟體工具(收藏)
    MetaSeeker中的網絡爬蟲就屬於後者。MetaSeeker工具包利用Mozilla平臺的能力,只要是Firefox看到的東西,它都能提取。MetaSeeker工具包是免費使用的,下載地址:www.gooseeker.com/cn/node/download/front特點:網頁抓取、信息提取、數據抽取工具包,操作簡單11.Playfishplayfish是一個採用java技術,綜合應用多個開源java組件實現的網頁抓取工具,通過XML配置文件實現高度可定製性與可擴展性的網頁抓取工具