56個Python網路爬蟲資源,媽媽再也不用擔心你找不到資源!
本列表包含Python網頁抓取和資料處理相關的庫。
網路相關
-
通用
-
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 - 非同步程式碼的魔法
佇列
- celery - 基於分散式訊息傳遞的非同步任務佇列/作業佇列
- 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
awesome系列真是碉堡了~今天把Python的爬蟲工具搬過來~
awesome原文
譯文原文
相關推薦
56個Python網路爬蟲資源,媽媽再也不用擔心你找不到資源!
本列表包含Python網頁抓取和資料處理相關的庫。 網路相關 通用 urllib - 網路庫(標準庫) requests - 網路庫 grab - 網路庫(基於pycurl) pycurl - 網路庫 (與libcurl繫結) urllib3 - 具有執行緒
推薦幾款Python程式設計類遊戲,媽媽再也不用擔心我的學習了
自學過程式設計的小夥伴都知道,在學習的過程中,不僅僅要記下很多的知識點,而且那些知識點,都是非常的幹,很乾,很乾,沒有一點樂趣的感覺..... 所以在很多人學習Python的人,也許他的基礎知識還沒有學好,就會選擇去看一些爬蟲的案例,然後也會自己嘗試的去寫一些爬蟲的案例,但是一碰
python給女神講笑話,媽媽再也不用擔心我搞不定女朋友了
廣大的男朋友同胞們,溫柔可愛的女朋友要你每天給他們講一個小笑話,這麼簡單的要求難道你不能辦到麼? 需要python學習資料加群 735934841 領取! 自己寫笑話肯定是不現實的,網路論壇搜尋的笑話大多千篇一律。
手把手告訴你如何安裝多個版本的node,媽媽再也不用擔心版本高低引發的一系列後遺症(非常詳細,非常實用)
簡介 最近好多人都問到node怎麼同時安裝多個版本? 如何配置node的環境變數,如何自如的在多個版本中切換node?還有就是自己在做appium自動化的時候,有時候會因為node的版本過高或者是太低用命令啟動appium時候而報錯,試了一下是否可以安裝一個高版本和低版本的node在一個系統中,你如果需
Python 線上免費批量美顏,媽媽再也不用擔心我 P 圖兩小時啦
## 引言 首先我承認自己標題黨了,我就想提升點閱讀量我容易麼我,前幾天的篇純技術文閱讀量都扯著蛋了。 畢竟閱讀量太低實在是沒有寫下去的動力,我只能用點小手段偶爾提升下閱讀量。 這篇文章我轉換下套路,先放結果,感興趣的接著往下看,不感興趣的直接左上角,就當是我把你們騙進來的。 ## 結果 ![](h
利用CH341A編程器刷新BIOS,恢復BIOS,媽媽再也不用擔心BIOS刷壞了
出了 顯示 進度條 電腦 src 黑屏 eight 右下角 img 前幾天,修電腦主析就搗鼓刷BIOS,結果刷完黑屏開不了機,立刻意識到完了,BIOS刷錯了。就從網上查資料,各種方法試了個遍,什麽用處都沒有。終於功夫不負有心人,找到了編碼器,知道了怎麽用。下面看看具體用
機器學習PAI為你自動寫歌詞,媽媽再也不用擔心我的freestyle了(提供數據、代碼)
找到 進行 html learn from 所有 pre 文案 對象存儲 背景 最近互聯網上出現一個熱詞就是“freestyle”,源於一個比拼rap的綜藝節目。在節目中需要大量考驗選手的freestyle能力,freestyle指的是rapper
【親測有效】主頁鎖定神器,媽媽再也不用擔心我電腦瀏覽器主頁被劫持篡改了
text 問題 img strong 密碼 TE build log 電腦 很多朋友都在網上下載一些軟件或者重裝系統後發現,瀏覽器主頁被鎖定了,不管怎麽修改都改不過來,即便是殺毒軟件也拿它沒辦法,這次給大家一個自己親測的主頁鎖定神器,穩妥的解決主頁問題。 註意:主頁鎖定神
手機有了這些小程序,媽媽再也不用擔心我的手機內存不足|極限工坊淘小咖
××× 公交 proc 列表 替代 ext roc 知識 vpd 自從騰訊開始推小程序之後,各式各樣的小程序也開始層出不窮! 自從用了這些小程序,生活方便了很多,完美替代APP,拯救了手機內存不足。 今天來給大家分享幾款比較常用的。 車來了實時公交: 有沒有覺得每次去了公
React效能分析利器來了,媽媽再也不用擔心我的React應用慢了
Profiler React16.5正式在devtool中加入了Profiler功能,用於收集每次變更導致的渲染時間,幫助開發者發現潛在的效能問題,有助於開發更高效能的React應用 官方部落格 如何使用 在Chrome的開發工具外掛react devtool中多了
【玩轉資料系列十五】機器學習PAI為你自動寫歌詞,媽媽再也不用擔心我的freestyle了(提供資料、程式碼)
摘要: 背景 最近網際網路上出現一個熱詞就是“freestyle”,源於一個比拼rap的綜藝節目。在節目中需要大量考驗選手的freestyle能力,freestyle指的是rapper即興的根據一段主題講一串rap。 背景 最近網際網路上出現一個熱詞就是“freest
使用EXCEL繪製三維地圖(超簡單的五分鐘繪製地圖方法,媽媽再也不用擔心我不會畫地圖啦~)
博主為從區域規劃轉行地圖學的小學渣一枚,最近處理資料希望對結果進行三維視覺化,意外發現從小用到大的EXCEL可以繪製地圖且功能非常強大,在這裡做一下簡單介紹,希望可以給看官提供些許幫助。那下面就開始吧1 前戲1.1版本 Office2013及以上版本。1.2Po
12306:媽媽再也不用擔心我搶不到票了(1)
一、寫在前面 正值國慶之際,我還在為搶不到火車票,只能坐大巴回家而煩惱~你呢? 好訊息來了,從學完這篇推文後,你就再也不用每天求這個朋友圈,求那個qq空間了。 第一篇,我們先登入12306,讀完本篇,你將學會:如何模擬登入,基本圖片驗證方法,一波三折,過程很有意思,參考了網上一些資料
12306:媽媽再也不用擔心我搶不到票了(2)
一、寫在前面 上一篇中,我們實現了 12306的模擬登入(破解驗證碼),這裡是傳輸門,本篇推文,我將帶大家進行進一步的操作車票預訂第一步—實現車票查詢功能。 二、一頓騷操作 注: 以下所有操作可以不用登
有了這套模板,女朋友再也不用擔心我刷不動 LeetCode 了
全文包含 12000+ 字、30 張高清圖片,預計閱讀時間為 40 分鐘,強烈建議先收藏再仔細閱讀。 作者 | 李威 整理 | 公眾號:五分鐘學演算法 個人部落格 | https://www.cxyxiaowu.com 來源 | https://www.liwei.party/ 下面的動畫以 「力扣」第 7
Python網路爬蟲入門,帶你領略Python爬蟲的樂趣!
前段時間小編寫了一篇有關於Python入門的文章,我覺得寫的還是不夠好,所以我特地補上一篇Python爬蟲的入門的,本文特別適合Python小白,剛學習爬蟲不久。接下來就讓我們一起來寫第一個例子吧!
媽媽再也不用擔心爬蟲被封號了!手把手教你搭建Cookies池
很多時候,在爬取沒有登入的情況下,我們也可以訪問一部分頁面或請求一些介面,因為畢竟網站本身需要做SEO,不會對所有頁面都設定登入限制。 但是,不登入直接爬取會有一些弊端,弊端主要有以下兩點。 設定了登入限制的頁面無法爬取。如某論壇設定了登入才可檢視資源,某部落格設定了登入才可檢視全文
python安裝完畢後,用pip安裝 提示找不到ssl模組
python安裝完畢後,提示找不到ssl模組: 例如這樣: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not avai
看完此文,媽媽還會擔心你docker入不了門?
上週物件突然心血來潮說想養個小寵物,我問想養啥她又說隨便,你看著辦!!!這我真的比較難辦啊!但是咱們程式設計師能有個物件就不錯了,還不趕緊寵著,我只能照辦咯! 我去到了一家寵物店,半天也沒有找到合適的目標。正在我猶豫彷徨之時,看到了老闆門口魚缸裡面的金魚游來游去還挺順眼!於是我問老闆 我:老闆,金
看完這篇,媽媽還會擔心你Docker入不了門?
“上週物件突然心血來潮說想養個小寵物,我問想養啥她又說隨便,你看著辦!!! 這我真的比較難辦啊!但是咱們程式設計師能有個物