十大實用的Python庫介紹,歡迎大家補充!

編程語言 Python 網絡爬蟲 HTML GeekLearning 2017-06-07

人生苦短,我用Python!

十大實用的Python庫介紹,歡迎大家補充!

python是一門簡單易學但是功能非常強大的編程語言,應用範圍也非常廣,如:服務器運維,科學計算,人工智能,web開發,網絡爬蟲都可以使用python。下面介紹幾款實用的python庫,python庫非常豐富,如果大家用過好用的python,歡迎大家補充。

1.Scrapy

Scrapy 是一款非常受歡迎的python爬蟲框架。它是基於Twisted的異步網絡處理框架,是純python實現的爬蟲框架,用戶只需要定製開發幾個模塊就可以輕鬆的實現一個爬蟲,用來抓取網頁內容或者各種圖片。

2.django

Django 是 Python 編程語言驅動的一個開源模型-視圖-控制器(MVC)風格的 Web 應用程序框架。使用 Django,我們在幾分鐘之內就可以創建高品質、易維護、數據庫驅動的應用程序。

3.Requests

Requests 是一個 Python 的 HTTP 客戶端庫。模擬網絡請求非常推薦Requests,簡單易用。

4.Beautiful Soup

Beautiful Soup 是一個可以從HTML或XML文件中提取數據的Python庫。開發爬蟲程序要經常用到。

Beautiful Soup提供一些簡單的、python式的函數用來處理導航、搜索、修改分析樹等功能。它是一個工具箱,通過解析文檔為用戶提供需要抓取的數據,因為簡單,所以不需要多少代碼就可以寫出一個完整的應用程序。

Beautiful Soup自動將輸入文檔轉換為Unicode編碼,輸出文檔轉換為utf-8編碼。你不需要考慮編碼方式,除非文檔沒有指定一個編碼方式,這時,Beautiful Soup就不能自動識別編碼方式了。然後,你僅僅需要說明一下原始編碼方式就可以了。

Beautiful Soup已成為和lxml、html6lib一樣出色的python解釋器,為用戶靈活地提供不同的解析策略或強勁的速度。

5.Sanic + uvloop

Sanic:https://github.com/channelcat/sanic

uvloop: https://magic.io/blog/uvloop-blazing-fast-python-networking/

Sanic 不僅有可能是有史以來最好的軟件庫名字,也可能是有史以來最快的 Python 網頁框架,而且似乎也遠遠超過其它框架。它是一個專為速度而設計的類 Flask 的 Python 3.5+ 網頁服務器。另一個庫 uvloop 是一個用於 asyncio 的事件循環(event loop,其底層使用了 libuv)的超快速的插件替代。這兩個加起來就是一個強大的組合!

根據 Sanic 的作者的基準測試,uvloop 可以驅動 Sanic 每秒處理超過 3.3 萬條請求,這實在太強了!(比 node.js 還快)。你的代碼可以受益於這種新的 async/await 語法——它們會看起來很整潔;此外我們也喜歡 Flask 風格的 API。你一定要試試 Sanic,而且如果你也在使用 asyncio,你也可以無需太多修改你的代碼就能受益於 uvloop。

6.Tornado

Tornado 和現在的主流 Web 服務器框架(包括大多數 Python 的框架)有著明顯的區別:它是非阻塞式服務器,而且速度相當快。得利於其 非阻塞的方式和對 epoll 的運用,Tornado 每秒可以處理數以千計的連接,這意味著對於實時 Web 服務來說,Tornado 是一個理想的 Web 框架。

7.Twisted

Twisted是用Python實現的基於事件驅動的網絡引擎框架。Twisted誕生於2000年初,在當時的網絡遊戲開發者看來,無論他們使用哪種語言,手中都鮮有可兼顧擴展性及跨平臺的網絡庫。Twisted的作者試圖在當時現有的環境下開發遊戲,這一步走的非常艱難,他們迫切地需要一個可擴展性高、基於事件驅動、跨平臺的網絡開發框架,為此他們決定自己實現一個,並從那些之前的遊戲和網絡應用程序的開發者中學習,汲取他們的經驗教訓。

Twisted支持許多常見的傳輸及應用層協議,包括TCP、UDP、SSL/TLS、HTTP、IMAP、SSH、IRC以及FTP。就像Python一樣,Twisted也具有“內置電池”(batteries-included)的特點。Twisted對於其支持的所有協議都帶有客戶端和服務器實現,同時附帶有基於命令行的工具,使得配置和部署產品級的Twisted應用變得非常方便。

8.PyQuery

PyQuery 讓你使用 jQuery 的風格來遍歷 XML 文檔,它使用了 lxml 來處理 XML 乃至 HTML 文檔。

開發爬蟲應用,一個好用的html解析庫。

9.TensorFlow

TensorFlow 是一個用於人工智能的開源神器。

TensorFlow™ 是一個採用數據流圖(data flow graphs),用於數值計算的開源軟件庫。節點(Nodes)在圖中表示數學操作,圖中的線(edges)則表示在節點間相互聯繫的多維數據數組,即張量(tensor)。它靈活的架構讓你可以在多種平臺上展開計算,例如臺式計算機中的一個或多個CPU(或GPU),服務器,移動設備等等。TensorFlow 最初由Google大腦小組(隸屬於Google機器智能研究機構)的研究員和工程師們開發出來,用於機器學習和深度神經網絡方面的研究,但這個系統的通用性使其也可廣泛用於其他計算領域。

10.Flask

Flask 是一個微型的 Python 開發的 Web 框架,基於Werkzeug WSGI工具箱和Jinja2 模板引擎。 Flask使用BSD授權。 Flask也被稱為“microframework”,因為它使用簡單的核心,用extension增加其他功能。Flask沒有默認使用的數據庫、窗體驗證工具。然而,Flask保留了擴增的彈性,可以用Flask-extension加入這些功能:ORM、窗體驗證工具、文件上傳、各種開放式身份驗證技術。

如果您喜歡這篇文章可以點贊,關注,轉發!

更多互聯網技術和科技資訊請點擊關注按鈕!

相關推薦

推薦中...