您好,登錄后才能下訂單哦!
這篇文章主要講解了“Python爬蟲(chóng)有哪些庫(kù)”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Python爬蟲(chóng)有哪些庫(kù)”吧!
1. requests
GitHub:https://github.com/psf/requests
requests庫(kù)應(yīng)該是現(xiàn)在做爬蟲(chóng)最火最實(shí)用的庫(kù)了,非常的人性化。有關(guān)于它的使用我之前也寫(xiě)過(guò)一篇文章 一起看看Python之Requests庫(kù) ,大家可以去看一下。
有關(guān)于requests最詳細(xì)的使用方法,大家可以參考官方文檔:https://requests.readthedocs.io/en/master/
使用小案例:
>>> import requests >>> r = requests.get('https://api.github.com/user', auth=('user', 'pass')) >>> r.status_code 200 >>> r.headers['content-type'] 'application/json; charset=utf8' >>> r.encoding 'utf-8' >>> r.text u'{"type":"User"...' >>> r.json() {u'disk_usage': 368627, u'private_gists': 484, ...}
2. urllib3
GitHub:https://github.com/urllib3/urllib3
urllib3是一個(gè)非常強(qiáng)大的http請(qǐng)求庫(kù),提供一系列的操作URL的功能。
有關(guān)于它的詳細(xì)使用方法可以參考:https://urllib3.readthedocs.io/en/latest/
使用小案例:
>>> import urllib3 >>> http = urllib3.PoolManager() >>> r = http.request('GET', 'http://httpbin.org/robots.txt') >>> r.status 200 >>> r.data 'User-agent: *\nDisallow: /deny\n'
3.selenium
GitHub:https://github.com/SeleniumHQ/selenium
自動(dòng)化測(cè)試工具。一個(gè)調(diào)用瀏覽器的 driver,通過(guò)這個(gè)庫(kù)你可以直接調(diào)用瀏覽器完成某些操作,比如輸入驗(yàn)證碼。
對(duì)于這個(gè)庫(kù)并非只是Python才能用,像JAVA、Python、C#等都能夠使用selenium這個(gè)庫(kù)
有關(guān)于Python語(yǔ)言如何去使用這個(gè)庫(kù),大家可以去訪問(wèn)https://seleniumhq.github.io/selenium/docs/api/py/ 查看官方文檔
使用小案例:
from selenium import webdriver browser = webdriver.Firefox() browser.get('http://seleniumhq.org/')
4.aiohttp
GitHub:https://github.com/aio-libs/aiohttp
基于 asyncio 實(shí)現(xiàn)的 HTTP 框架。異步操作借助于 async/await 關(guān)鍵字,使用異步庫(kù)進(jìn)行數(shù)據(jù)抓取,可以大大提高效率。
這個(gè)屬于進(jìn)階爬蟲(chóng)時(shí)候必須掌握的異步庫(kù)。有關(guān)于aiohttp的詳細(xì)操作,可以去官方文檔:https://aiohttp.readthedocs.io/en/stable/
使用小案例:
import aiohttp import asyncio async def fetch(session, url): async with session.get(url) as response: return await response.text() async def main(): async with aiohttp.ClientSession() as session: html = await fetch(session, 'http://python.org') print(html) if __name__ == '__main__': loop = asyncio.get_event_loop() loop.run_until_complete(main())
1、beautifulsoup
官方文檔:https://www.crummy.com/software/BeautifulSoup/
html 和 XML 的解析,從網(wǎng)頁(yè)中提取信息,同時(shí)擁有強(qiáng)大的API和多樣解析方式。一個(gè)我經(jīng)常使用的解析庫(kù),對(duì)于html的解析是非常的好用。對(duì)于寫(xiě)爬蟲(chóng)的人來(lái)說(shuō)這也是必須掌握的庫(kù)。
2、lxml
GitHub:https://github.com/lxml/lxml
支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高。
3、pyquery
GitHub:https://github.com/gawel/pyquery
jQuery 的 Python 實(shí)現(xiàn),能夠以 jQuery 的語(yǔ)法來(lái)操作解析 HTML 文檔,易用性和解析速度都很好。
1、pymysql
GitHub:https://github.com/PyMySQL/PyMySQL
官方文檔:https://pymysql.readthedocs.io/en/latest/
一個(gè)純 Python 實(shí)現(xiàn)的 MySQL 客戶端操作庫(kù)。非常的實(shí)用、非常的簡(jiǎn)單。
2、pymongo
GitHub:https://github.com/mongodb/mongo-python-driver
官方文檔:https://api.mongodb.com/python/
顧名思義,一個(gè)用于直接連接 mongodb 數(shù)據(jù)庫(kù)進(jìn)行查詢操作的庫(kù)。
3、redisdump
redis-dump是將redis和json互轉(zhuǎn)的工具;redis-dump是基于ruby開(kāi)發(fā),需要ruby環(huán)境,而且新版本的redis-dump要求2.2.2以上的ruby版本,centos中yum只能安裝2.0版本的ruby。需要先安裝ruby的管理工具rvm安裝高版本的ruby。
感謝各位的閱讀,以上就是“Python爬蟲(chóng)有哪些庫(kù)”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Python爬蟲(chóng)有哪些庫(kù)這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。