Python庫大全,建議收藏留用俱诸!

學(xué)Python菠劝,想必大家都是從爬蟲開始的吧。畢竟網(wǎng)上類似的資源很豐富睁搭,開源項目也非常多赶诊。

Python學(xué)習(xí)網(wǎng)絡(luò)爬蟲主要分3個大的版塊:抓取,分析园骆,存儲

當(dāng)我們在瀏覽器中輸入一個url后回車舔痪,后臺會發(fā)生什么?

簡單來說這段過程發(fā)生了以下四個步驟:

查找域名對應(yīng)的IP地址遇伞。

向IP對應(yīng)的服務(wù)器發(fā)送請求辙喂。

服務(wù)器響應(yīng)請求,發(fā)回網(wǎng)頁內(nèi)容鸠珠。

瀏覽器解析網(wǎng)頁內(nèi)容。

那么學(xué)習(xí)爬蟲需要掌握哪些庫呢秋麸?

通用:

urllib -網(wǎng)絡(luò)庫(stdlib)渐排。

requests -網(wǎng)絡(luò)庫。

grab – 網(wǎng)絡(luò)庫(基于pycurl)灸蟆。

pycurl – 網(wǎng)絡(luò)庫(綁定libcurl)驯耻。

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

httplib2 – 網(wǎng)絡(luò)庫。

RoboBrowser – 一個簡單的帘靡、極具Python風(fēng)格的Python庫知给,無需獨立的瀏覽器即可瀏覽網(wǎng)頁。

MechanicalSoup -一個與網(wǎng)站自動交互Python庫描姚。

mechanize -有狀態(tài)涩赢、可編程的Web瀏覽庫。

socket – 底層網(wǎng)絡(luò)接口(stdlib)轩勘。

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

hyper – Python的HTTP/2客戶端。

PySocks – SocksiPy更新并積極維護(hù)的版本绊寻,包括錯誤修復(fù)和一些其他的特征澎媒。作為socket模塊的直接替換。

網(wǎng)絡(luò)爬蟲框架

功能齊全的爬蟲

grab – 網(wǎng)絡(luò)爬蟲框架(基于pycurl/multicur)痴奏。

scrapy – 網(wǎng)絡(luò)爬蟲框架(基于twisted)永票,不支持Python3。

pyspider – 一個強(qiáng)大的爬蟲系統(tǒng)驮俗。

cola – 一個分布式爬蟲框架懂缕。

其他

portia – 基于Scrapy的可視化爬蟲。

restkit – Python的HTTP資源工具包王凑。它可以讓你輕松地訪問HTTP資源搪柑,并圍繞它建立的對象。

demiurge – 基于PyQuery的爬蟲微框架索烹。

HTML/XML解析器

通用

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

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

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

BeautifulSoup – 低效HTML/ XML處理庫,純Python實現(xiàn)垒拢。

html5lib – 根據(jù)WHATWG規(guī)范生成HTML/ XML文檔的DOM旬迹。該規(guī)范被用在現(xiàn)在所有的瀏覽器上。

feedparser – 解析RSS/ATOM feeds求类。

MarkupSafe – 為XML/HTML/XHTML提供了安全轉(zhuǎn)義的字符串奔垦。

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

xhtml2pdf – 將HTML/CSS轉(zhuǎn)換為PDF尸疆。

untangle – 輕松實現(xiàn)將XML文件轉(zhuǎn)換為Python對象椿猎。

清理

Bleach – 清理HTML(需要html5lib)惶岭。

sanitize – 為混亂的數(shù)據(jù)世界帶來清明。

文本處理

用于解析和操作簡單文本的庫犯眠。

通用

difflib – (Python標(biāo)準(zhǔn)庫)幫助進(jìn)行差異化比較按灶。

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

fuzzywuzzy – 模糊字符串匹配筐咧。

esmre – 正則表達(dá)式加速器鸯旁。

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

自然語言處理

處理人類語言問題的庫羡亩。

NLTK -編寫Python程序來處理人類語言數(shù)據(jù)的最好平臺。

Pattern – Python的網(wǎng)絡(luò)挖掘模塊危融。他有自然語言處理工具畏铆,機(jī)器學(xué)習(xí)以及其它。

TextBlob – 為深入自然語言處理任務(wù)提供了一致的API吉殃。是基于NLTK以及Pattern的巨人之肩上發(fā)展的辞居。

jieba – 中文分詞工具。

SnowNLP – 中文文本處理庫蛋勺。

loso – 另一個中文分詞庫瓦灶。

瀏覽器自動化與仿真

selenium – 自動化真正的瀏覽器(Chrome瀏覽器,火狐瀏覽器抱完,Opera瀏覽器贼陶,IE瀏覽器)。

Ghost.py – 對PyQt的webkit的封裝(需要PyQT)巧娱。

Spynner – 對PyQt的webkit的封裝(需要PyQT)碉怔。

Splinter – 通用API瀏覽器模擬器(selenium web驅(qū)動,Django客戶端禁添,Zope)撮胧。

多重處理

threading – Python標(biāo)準(zhǔn)庫的線程運(yùn)行。對于I/O密集型任務(wù)很有效老翘。對于CPU綁定的任務(wù)沒用芹啥,因為python GIL。

multiprocessing – 標(biāo)準(zhǔn)的Python庫運(yùn)行多進(jìn)程铺峭。

celery – 基于分布式消息傳遞的異步任務(wù)隊列/作業(yè)隊列墓怀。

concurrent-futures – concurrent-futures 模塊為調(diào)用異步執(zhí)行提供了一個高層次的接口。

異步

異步網(wǎng)絡(luò)編程庫

asyncio – (在Python 3.4 +版本以上的 Python標(biāo)準(zhǔn)庫)異步I/O卫键,時間循環(huán)捺疼,協(xié)同程序和任務(wù)。

Twisted – 基于事件驅(qū)動的網(wǎng)絡(luò)引擎框架永罚。

Tornado – 一個網(wǎng)絡(luò)框架和異步網(wǎng)絡(luò)庫啤呼。

pulsar – Python事件驅(qū)動的并發(fā)框架。

diesel – Python的基于綠色事件的I/O框架呢袱。

gevent – 一個使用greenlet 的基于協(xié)程的Python網(wǎng)絡(luò)庫官扣。

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

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

隊列

celery – 基于分布式消息傳遞的異步任務(wù)隊列/作業(yè)隊列惕蹄。

huey – 小型多線程任務(wù)隊列。

mrq – Mr. Queue – 使用redis & Gevent 的Python分布式工作任務(wù)隊列治专。

RQ – 基于Redis的輕量級任務(wù)隊列管理器卖陵。

simpleq – 一個簡單的,可無限擴(kuò)展张峰,基于Amazon SQS的隊列泪蔫。

python-gearman – Gearman的Python API。

云計算

picloud – 云端執(zhí)行Python代碼喘批。

dominoup.com – 云端執(zhí)行R撩荣,Python和matlab代碼

網(wǎng)頁內(nèi)容提取

提取網(wǎng)頁內(nèi)容的庫。

HTML頁面的文本和元數(shù)據(jù)

newspaper – 用Python進(jìn)行新聞提取饶深、文章提取和內(nèi)容策展餐曹。

html2text – 將HTML轉(zhuǎn)為Markdown格式文本。

python-goose – HTML內(nèi)容/文章提取器敌厘。

lassie – 人性化的網(wǎng)頁內(nèi)容檢索工具

WebSocket

用于WebSocket的庫台猴。

Crossbar – 開源的應(yīng)用消息傳遞路由器(Python實現(xiàn)的用于Autobahn的WebSocket和WAMP)。

AutobahnPython – 提供了WebSocket協(xié)議和WAMP協(xié)議的Python實現(xiàn)并且開源俱两。

WebSocket-for-Python – Python 2和3以及PyPy的WebSocket客戶端和服務(wù)器庫饱狂。

DNS解析

dnsyo – 在全球超過1500個的DNS服務(wù)器上檢查你的DNS。

pycares – c-ares的接口锋华。c-ares是進(jìn)行DNS請求和異步名稱決議的C語言庫嗡官。

計算機(jī)視覺

OpenCV – 開源計算機(jī)視覺庫。

SimpleCV – 用于照相機(jī)毯焕、圖像處理衍腥、特征提取、格式轉(zhuǎn)換的簡介纳猫,可讀性強(qiáng)的接口(基于OpenCV)婆咸。

mahotas – 快速計算機(jī)圖像處理算法(完全使用 C++ 實現(xiàn)),完全基于 numpy 的數(shù)組作為它的數(shù)據(jù)類型芜辕。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末尚骄,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子侵续,更是在濱河造成了極大的恐慌倔丈,老刑警劉巖憨闰,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異需五,居然都是意外死亡鹉动,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進(jìn)店門宏邮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泽示,“玉大人,你說我怎么就攤上這事蜜氨⌒瞪福” “怎么了?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵飒炎,是天一觀的道長埋哟。 經(jīng)常有香客問我,道長厌丑,這世上最難降的妖魔是什么定欧? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮怒竿,結(jié)果婚禮上砍鸠,老公的妹妹穿的比我還像新娘。我一直安慰自己耕驰,他們只是感情好爷辱,可當(dāng)我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著朦肘,像睡著了一般饭弓。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上媒抠,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天弟断,我揣著相機(jī)與錄音,去河邊找鬼趴生。 笑死阀趴,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的苍匆。 我是一名探鬼主播刘急,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼浸踩!你這毒婦竟也來了叔汁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎据块,沒想到半個月后码邻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡瑰钮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年冒滩,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浪谴。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖因苹,靈堂內(nèi)的尸體忽然破棺而出苟耻,到底是詐尸還是另有隱情,我是刑警寧澤扶檐,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布凶杖,位于F島的核電站,受9級特大地震影響款筑,放射性物質(zhì)發(fā)生泄漏智蝠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一奈梳、第九天 我趴在偏房一處隱蔽的房頂上張望杈湾。 院中可真熱鬧,春花似錦攘须、人聲如沸漆撞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽浮驳。三九已至,卻和暖如春捞魁,著一層夾襖步出監(jiān)牢的瞬間至会,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工谱俭, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留奉件,地道東北人。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓旺上,卻偏偏與公主長得像瓶蚂,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子宣吱,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,107評論 2 356

推薦閱讀更多精彩內(nèi)容