寫爬蟲是一個(gè)發(fā)送請(qǐng)求,提取數(shù)據(jù),清洗數(shù)據(jù),存儲(chǔ)數(shù)據(jù)的過(guò)程。在這個(gè)過(guò)程中,不同的數(shù)據(jù)源返回的數(shù)據(jù)格式各不相同,有 JSON 格式,有 XML 文檔,不過(guò)大部分還是 HTML 文檔,HTML 經(jīng)常會(huì)混雜有轉(zhuǎn)移字符,這些字符我們需要把它轉(zhuǎn)義成真正的字符。

什么是轉(zhuǎn)義字符
在 HTML 中 <、>、& 等字符有特殊含義(<,> 用于標(biāo)簽中,& 用于轉(zhuǎn)義),他們不能在 HTML 代碼中直接使用,如果要在網(wǎng)頁(yè)中顯示這些符號(hào),就需要使用 HTML 的轉(zhuǎn)義字符串(Escape Sequence),例如 < 的轉(zhuǎn)義字符是 <,瀏覽器渲染 HTML 頁(yè)面時(shí),會(huì)自動(dòng)把轉(zhuǎn)移字符串換成真實(shí)字符。
轉(zhuǎn)義字符(Escape Sequence)由三部分組成:第一部分是一個(gè) & 符號(hào),第二部分是實(shí)體(Entity)名字,第三部分是一個(gè)分號(hào)。 比如,要顯示小于號(hào)(<),就可以寫< 。

Python 反轉(zhuǎn)義字符串
用 Python 來(lái)處理轉(zhuǎn)義字符串有多種方式,而且 py2 和 py3 中處理方式不一樣,在 python2 中,反轉(zhuǎn)義串的模塊是 HTMLParser。

Python3 把 HTMLParser 模塊遷移到 html.parser

到 python3.4 之后的版本,在 html 模塊新增了 unescape 方法。

推薦最后一種寫法,因?yàn)?HTMLParser.unescape 方法在 Python3.4 就已經(jīng)被廢棄掉不推薦使用,意味著之后的版本有可能會(huì)被徹底移除。
另外,sax 模塊也有支持反轉(zhuǎn)義的函數(shù)

當(dāng)然,你完全可以實(shí)現(xiàn)自己的反轉(zhuǎn)義功能,不復(fù)雜,當(dāng)然,我們崇尚不重復(fù)造輪子。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
當(dāng)前題目:用Python處理HTML轉(zhuǎn)義字符的5種方式-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://www.yijiale78.com/article6/djggig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、ChatGPT、網(wǎng)頁(yè)設(shè)計(jì)公司、搜索引擎優(yōu)化、虛擬主機(jī)、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容