利用python爬虫(part5)--lxml模块
生活随笔
收集整理的這篇文章主要介紹了
利用python爬虫(part5)--lxml模块
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
學習筆記
lxml模塊
- 關于lxml
lxml解析模塊可以利用Xpath表達式來匹配HTML字符串的內容。
- 關于lxml解析庫的安裝
進入cmd,輸入以下代碼,即可安裝:
pip install lxml- 語法
- 舉個例子
針對下面HTML文檔,我們利用Xpath獲取所有li節點對象、所有name節點的class屬性值、所有food節點里的文本內容:
<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>進口提草</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>進口提草</food></li></ol> """parse_html = etree.HTML(html) #獲取所有li節點對象 li_list = parse_html.xpath('//ol/li') print(li_list) print('-'*20)#獲取所有name節點的class屬性值 name_list = parse_html.xpath('//ol/li/name/@class') print(name_list) print('-'*20)#獲取所有food節點里的文本內容 food_list = parse_html.xpath('//ol/li/food/text()') print(food_list)控制臺輸出結果:
[<Element li at 0xad2d7371c8>, <Element li at 0xad2d737448>, <Element li at 0xad2d737288>, <Element li at 0xad2d737488>] -------------------- ['Bunny01', 'Bunny02', 'Bunny03', 'Bunny03'] -------------------- ['胡蘿卜', '白菜', '提草', '進口提草'] 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的利用python爬虫(part5)--lxml模块的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python+opencv图像投影、水平
- 下一篇: 利用python爬虫(案例2)--X凰的