這篇文章將為大家詳細(xì)講解有關(guān)在python中使用lxml時(shí)需要注意哪些事項(xiàng),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識(shí)有一定的了解。
龍湖ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
1、云計(jì)算,典型應(yīng)用OpenStack。2、WEB前端開發(fā),眾多大型網(wǎng)站均為Python開發(fā)。3.人工智能應(yīng)用,基于大數(shù)據(jù)分析和深度學(xué)習(xí)而發(fā)展出來的人工智能本質(zhì)上已經(jīng)無法離開python。4、系統(tǒng)運(yùn)維工程項(xiàng)目,自動(dòng)化運(yùn)維的標(biāo)配就是python+Django/flask。5、金融理財(cái)分析,量化交易,金融分析。6、大數(shù)據(jù)分析。
1、使用注意
(1)lxml 能夠修正 HTML 代碼,但是可能會(huì)改錯(cuò)了,解決方法:
使用etree.tostring觀察修改之后的html的樣子,根據(jù)修改之后的html字符串寫xpath
(2)提取頁面數(shù)據(jù)的思路
先分組,取到一個(gè)包含分組標(biāo)簽的列表
遍歷,取其中每一組進(jìn)行數(shù)據(jù)的提取,不會(huì)造成數(shù)據(jù)的對應(yīng)錯(cuò)亂
(3)lxml 能夠接受bytes和str的字符串
2、實(shí)例
from lxml import etree text = ''' <div> <ul> <li><a href="link1.html">first item</a></li> <li><a href="link2.html">second item</a></li> <li><a href="link3.html">third item</a></li> <li><a href="link4.html">fourth item</a></li> <li><a href="link5.html">fifth item</a> </ul> </div> ''' html = etree.HTML(text) print(html) # <Element html at 0x1f1007c9d08> print(etree.tostring(html).decode()) # 獲取 class 為 item-1 li 下的 a 的 href ret1 = html.xpath('//li[@class="item-1"]/a/@href') print(ret1) # 獲取 class 為 item-1 li 下的文本 ret2 = html.xpath("//li[@class='item-1']/a/text()") print(ret2) # 把 url 和 文本組成字典 # 如果其中一個(gè)獲取失敗或者沒有數(shù)據(jù),則url 和 title 就不是原來對應(yīng)的結(jié)果 for i in ret1: item = {} item['url'] = i item['title'] = ret2[ret1.index(i)] print(item) # 改進(jìn) ret3 = html.xpath('//li[@class="item-1"]') for i in ret3: item = {} item['url'] = i.xpath('./a/@href')[0] if len(i.xpath('./a/@href')) else None # ./a/@href 表示當(dāng)前節(jié)點(diǎn)下的 item['title'] = i.xpath('./a/text()')[0] if len(i.xpath('./a/text()')) else None print(item)
關(guān)于在python中使用lxml時(shí)需要注意哪些事項(xiàng)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
當(dāng)前題目:在python中使用lxml時(shí)需要注意哪些事項(xiàng)
本文URL:http://jinyejixie.com/article4/iieoie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、定制網(wǎng)站、App開發(fā)、服務(wù)器托管、網(wǎng)站排名、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)