python爬虫分析_Python爬虫解析网页的4种方式
文章目錄
爬蟲的價(jià)值
正則表達(dá)式
requests-html
BeautifulSoup
lxml的XPath
爬蟲的價(jià)值
常見的數(shù)據(jù)獲取方式就三種:自有數(shù)據(jù)、購(gòu)買數(shù)據(jù)、爬取數(shù)據(jù)。用Python寫爬蟲工具在現(xiàn)在是一種司空見慣的事情,每個(gè)人都希望能夠?qū)懸欢纬绦蛉セヂ?lián)網(wǎng)上扒一點(diǎn)資料下來,用于數(shù)據(jù)分析或者干點(diǎn)別的事情,我們知道,爬蟲的原理無非是把目標(biāo)網(wǎng)址的內(nèi)容下載下來存儲(chǔ)到內(nèi)存中,這個(gè)時(shí)候它的內(nèi)容其實(shí)是一堆HTML,然后再對(duì)這些HTML內(nèi)容進(jìn)行解析,按照自己的想法提取出想要的數(shù)據(jù),所以今天我們主要來講四種在Python中解析網(wǎng)頁(yè)HTML內(nèi)容的方法,各有千秋,適合在不同的場(chǎng)合下使用
正則表達(dá)式正則表達(dá)式(regular expression)描述了一種字符串匹配的模式(pattern),可以用來檢查一個(gè)串是否含有某種子串、將匹配的子串替換或者從某個(gè)串中取出符合某個(gè)條件的子串等
正則的好處是編寫麻煩,理解不容易,但是匹配效率很高,不過時(shí)至今日有太多現(xiàn)成的HTMl內(nèi)容解析庫(kù)之后,我個(gè)人不太建議再手動(dòng)用正則來對(duì)內(nèi)容進(jìn)行匹配了,費(fèi)時(shí)費(fèi)力。
如果大家要學(xué)習(xí)可以參考:正則傳送門
requests-html
這個(gè)庫(kù)其實(shí)是我個(gè)人最喜歡的庫(kù),作則是編寫requests庫(kù)的網(wǎng)紅程序員 Kenneth Reitz,他在requests的基礎(chǔ)上加上了對(duì)html內(nèi)容的解析,就變成了requests-html這個(gè)庫(kù)了。
我喜歡用requests-html來解析內(nèi)容的原因是因?yàn)樽髡咭罁?jù)幫我高度封裝過了,連請(qǐng)求返回內(nèi)容的編碼格式轉(zhuǎn)換也自動(dòng)做了,完全可以讓我的代碼邏輯簡(jiǎn)單直接,更專注于解析工作本身。
安裝與使用: pip install requests-html
BeautifulSoup
大名鼎鼎的 BeautifulSoup庫(kù),出來有些年頭了,在Pyhton的HTML解析庫(kù)里屬于重量級(jí)的庫(kù),其實(shí)我評(píng)價(jià)它的重量是指比較臃腫,大而全,而且依賴Python,適用場(chǎng)景受到了局限性。
BeautifulSoup解析內(nèi)容同樣需要將請(qǐng)求和解析分開,從代碼清晰程度來講還將就,不過在做復(fù)雜的解析時(shí)代碼略顯繁瑣,總體來講可以用,看個(gè)人喜好吧。
安裝與使用: pip install beautifulsoup4
lxml的XPath
lxml這個(gè)庫(kù)同時(shí) 支持HTML和XML的解析,支持XPath解析方式,解析效率挺高,不過我們需要熟悉它的一些規(guī)則語(yǔ)法才能使用,例如下圖這些規(guī)則。
安裝與使用: pip install lxml
學(xué)習(xí)體驗(yàn)路徑:AI特種兵訓(xùn)練營(yíng) - 網(wǎng)易云課堂?study.163.com
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的python爬虫分析_Python爬虫解析网页的4种方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多核处理器_英特尔十代酷睿i5-1040
- 下一篇: websocket python爬虫_p