python爬蟲(chóng)要用到的庫(kù)總結(jié)
python爬蟲(chóng)要用到的庫(kù):
請(qǐng)求庫(kù):實(shí)現(xiàn) HTTP 請(qǐng)求操作
- urllib:一系列用于操作URL的功能。
- requests:基于 urllib 編寫(xiě)的,阻塞式 HTTP 請(qǐng)求庫(kù),發(fā)出一個(gè)請(qǐng)求,一直等待服務(wù)器響應(yīng)后,程序才能進(jìn)行下一步處理。
- selenium:自動(dòng)化測(cè)試工具。一個(gè)調(diào)用瀏覽器的 driver,通過(guò)這個(gè)庫(kù)你可以直接調(diào)用瀏覽器完成某些操作,比如輸入驗(yàn)證碼。
- aiohttp:基于 asyncio 實(shí)現(xiàn)的 HTTP 框架。異步操作借助于 async/await 關(guān)鍵字,使用異步庫(kù)進(jìn)行數(shù)據(jù)抓取,可以大大提高效率。
- 解析庫(kù):從網(wǎng)頁(yè)中提取信息
- beautifulsoup:html 和 XML 的解析,從網(wǎng)頁(yè)中提取信息,同時(shí)擁有強(qiáng)大的API和多樣解析方式。
- pyquery:jQuery 的 Python 實(shí)現(xiàn),能夠以 jQuery 的語(yǔ)法來(lái)操作解析 HTML 文檔,易用性和解析速度都很好。
- lxml:支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高。
- tesserocr:一個(gè) OCR 庫(kù),在遇到驗(yàn)證碼(圖形驗(yàn)證碼為主)的時(shí)候,可直接用 OCR 進(jìn)行識(shí)別。
- 存儲(chǔ)庫(kù):Python 與數(shù)據(jù)庫(kù)交互
- pymysql:一個(gè)純 Python 實(shí)現(xiàn)的 MySQL 客戶(hù)端操作庫(kù)。
- pymongo:一個(gè)用于直接連接 mongodb 數(shù)據(jù)庫(kù)進(jìn)行查詢(xún)操作的庫(kù)。
- redisdump:一個(gè)用于 redis 數(shù)據(jù)導(dǎo)入/導(dǎo)出的工具?;?ruby 實(shí)現(xiàn)的,因此使用它,需要先安裝 Ruby。
- 爬蟲(chóng)框架
- Scrapy:很強(qiáng)大的爬蟲(chóng)框架,可以滿足簡(jiǎn)單的頁(yè)面爬?。ū热缈梢悦鞔_獲知url pattern的情況)。用這個(gè)框架可以輕松爬下來(lái)如亞馬遜商品信息之類(lèi)的數(shù)據(jù)。但是對(duì)于稍微復(fù)雜一點(diǎn)的頁(yè)面,如 weibo 的頁(yè)面信息,這個(gè)框架就滿足不了需求了。
- Crawley:高速爬取對(duì)應(yīng)網(wǎng)站的內(nèi)容,支持關(guān)系和非關(guān)系數(shù)據(jù)庫(kù),數(shù)據(jù)可以導(dǎo)出為 JSON、XML 等。
- Portia:可視化爬取網(wǎng)頁(yè)內(nèi)容。
- newspaper:提取新聞、文章以及內(nèi)容分析。
- python-goose:java 寫(xiě)的文章提取工具。
- cola:一個(gè)分布式爬蟲(chóng)框架。項(xiàng)目整體設(shè)計(jì)有點(diǎn)糟,模塊間耦合度較高。
- Web框架庫(kù)
- flask:輕量級(jí)的 web 服務(wù)程序,簡(jiǎn)單,易用,靈活,主要來(lái)做一些 API 服務(wù)。做代理時(shí)可能會(huì)用到。
- django:一個(gè) web 服務(wù)器框架,提供了一個(gè)完整的后臺(tái)管理,引擎、接口等,使用它可做一個(gè)完整網(wǎng)站。
觀點(diǎn)擴(kuò)展:
學(xué)習(xí)爬蟲(chóng),最初的操作便是模擬瀏覽器向服務(wù)器發(fā)出請(qǐng)求,那么我們需要從哪個(gè)地方開(kāi)始做起呢?請(qǐng)求需要我們自己來(lái)構(gòu)造嗎?需要關(guān)心請(qǐng)求這個(gè)數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)嘛?需要了解HTTP、TCP、IP層的網(wǎng)絡(luò)傳輸通信嗎?需要直到服務(wù)器的響應(yīng)和應(yīng)答原理嗎?
可能你對(duì)這些根本不了解,也沒(méi)辦法下手。但是沒(méi)關(guān)系,python為我們提供了功能齊全的類(lèi)庫(kù)來(lái)幫助我們完成這些請(qǐng)求。最基礎(chǔ)的HTTP庫(kù)有urllib、requests、treq等。
以u(píng)rllib為例,有了它,我們只需要關(guān)心請(qǐng)求的連接是什么。需要傳的參數(shù)是什么,以及如何設(shè)置可選的請(qǐng)求頭就好了,不用深入到底層去了解它到底是怎樣傳輸和通信的。有了它,兩行代碼就可以完成一個(gè)請(qǐng)求和相應(yīng)的處理過(guò)程,得到網(wǎng)頁(yè)內(nèi)容,是不是感覺(jué)方便極了?
以上就是python爬蟲(chóng)要用到的庫(kù)總結(jié)的詳細(xì)內(nèi)容,更多關(guān)于python爬蟲(chóng)要用到哪些庫(kù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python break和continue用法對(duì)比
在本篇文章里小編給大家整理的是一篇關(guān)于python break和continue用法對(duì)比內(nèi)容,有需要的朋友們可以學(xué)習(xí)參考下。2021-06-06Python-apply(lambda x: )的使用及說(shuō)明
這篇文章主要介紹了Python-apply(lambda x: )的使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02Python2.7+pytesser實(shí)現(xiàn)簡(jiǎn)單驗(yàn)證碼的識(shí)別方法
這篇文章主要介紹了Python2.7+pytesser實(shí)現(xiàn)簡(jiǎn)單驗(yàn)證碼的識(shí)別方法,簡(jiǎn)單分析了pytesser的安裝及Python2.7環(huán)境下實(shí)現(xiàn)驗(yàn)證碼識(shí)別的相關(guān)操作技巧,需要的朋友可以參考下2017-12-12python+selenium實(shí)現(xiàn)自動(dòng)化百度搜索關(guān)鍵詞
在本篇文章里我們給大家分享了一篇關(guān)于python+selenium實(shí)現(xiàn)自動(dòng)化百度搜索關(guān)鍵詞的實(shí)例文章,需要的朋友們可以跟著操作下。2019-06-06通過(guò)示例學(xué)習(xí)python中os模塊的使用
os模塊是Python中處理文件和文件夾的重要模塊,其中了解模塊的一些基本功能對(duì)于使用Python對(duì)excel進(jìn)行數(shù)據(jù)分析具有很大的幫助,這篇文章主要介紹了python os模塊使用,感興趣的朋友跟隨小編一起看看吧2022-12-12python通過(guò)openpyxl生成Excel文件的方法
這篇文章主要介紹了python通過(guò)openpyxl生成Excel文件的方法,實(shí)例分析了openpyxl的安裝與使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-05-05