利用python爬虫(part5)--lxml模块
生活随笔
收集整理的這篇文章主要介紹了
利用python爬虫(part5)--lxml模块
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
學(xué)習(xí)筆記
lxml模塊
- 關(guān)于lxml
lxml解析模塊可以利用Xpath表達(dá)式來(lái)匹配HTML字符串的內(nèi)容。
- 關(guān)于lxml解析庫(kù)的安裝
進(jìn)入cmd,輸入以下代碼,即可安裝:
pip install lxml- 語(yǔ)法
- 舉個(gè)例子
針對(duì)下面HTML文檔,我們利用Xpath獲取所有l(wèi)i節(jié)點(diǎn)對(duì)象、所有name節(jié)點(diǎn)的class屬性值、所有food節(jié)點(diǎn)里的文本內(nèi)容:
<ol><li class="Ra01"><name class = 'Bunny01'>小黃</name><age>8</age><food>胡蘿卜</food></li><li class="Ra01"><name class = 'Bunny02'>大白</name><age>9</age><food>白菜</food></li><li class="Ra02"><name class = 'Bunny03'>奧尼爾</name><age>20</age><food>提草</food></li><li class="Ra03"><name class = 'Bunny03'>王子</name><age>30</age><food>進(jìn)口提草</food></li></ol>代碼:
# -*- coding: utf-8 -*-from lxml import etreehtml = \ """<ol><li class="Ra01"><name class = 'Bunny01'>小黃</name><age>8</age><food>胡蘿卜</food></li><li class="Ra01"><name class = 'Bunny02'>大白</name><age>9</age><food>白菜</food></li><li class="Ra02"><name class = 'Bunny03'>奧尼爾</name><age>20</age><food>提草</food></li><li class="Ra03"><name class = 'Bunny03'>王子</name><age>30</age><food>進(jìn)口提草</food></li></ol> """parse_html = etree.HTML(html) #獲取所有l(wèi)i節(jié)點(diǎn)對(duì)象 li_list = parse_html.xpath('//ol/li') print(li_list) print('-'*20)#獲取所有name節(jié)點(diǎn)的class屬性值 name_list = parse_html.xpath('//ol/li/name/@class') print(name_list) print('-'*20)#獲取所有food節(jié)點(diǎn)里的文本內(nèi)容 food_list = parse_html.xpath('//ol/li/food/text()') print(food_list)控制臺(tái)輸出結(jié)果:
[<Element li at 0xad2d7371c8>, <Element li at 0xad2d737448>, <Element li at 0xad2d737288>, <Element li at 0xad2d737488>] -------------------- ['Bunny01', 'Bunny02', 'Bunny03', 'Bunny03'] -------------------- ['胡蘿卜', '白菜', '提草', '進(jìn)口提草'] 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的利用python爬虫(part5)--lxml模块的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python+opencv图像投影、水平
- 下一篇: 利用python爬虫(案例2)--X凰的