日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

利用python爬虫(part5)--lxml模块

發(fā)布時(shí)間:2023/12/19 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用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ǔ)法
from lxml import etree#創(chuàng)建解析對(duì)象 parse_html = etree.HTML(html) #html = requests.get(url, headers = headers).content.decode('utf-8') #解析對(duì)象調(diào)用xpath r_list = parse_html.xpath('xpath表達(dá)式') #只要調(diào)用xpath,返回的結(jié)果一定為列表
  • 舉個(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)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。