欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python爬蟲(chóng)之xlml解析庫(kù)(全面了解)

 更新時(shí)間:2017年08月08日 08:39:51   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇Python爬蟲(chóng)之xlml解析庫(kù)(全面了解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

1.Xpath

Xpath是一門(mén)在XML中查找信息的語(yǔ)言,可用來(lái)在XML文檔中對(duì)元素和屬性進(jìn)行遍歷。XQuery和xpoint都是構(gòu)建于xpath表達(dá)之上

2.節(jié)點(diǎn)

父(parent),子(children),兄弟(sibling),先輩(ancetstor),后代(Decendant)

3.選取節(jié)點(diǎn)

路徑表達(dá)式

表達(dá)式 描述 路徑表達(dá)式 結(jié)果
nodename 選取此節(jié)點(diǎn)上的所有的子節(jié)點(diǎn) bookstore 選取bookstore元素的所有子節(jié)點(diǎn)
/ 從根節(jié)點(diǎn)上選取 /bookstore 選取根元素bookstore,為絕對(duì)路徑
// 從匹配選擇的當(dāng)前節(jié)點(diǎn)選擇文檔中的節(jié)點(diǎn),不考慮位置 //book 選取所有的book子元素,而不管他們?cè)谖臋n的位置
. 選取當(dāng)前節(jié)點(diǎn) bookstore//book 選擇bookstore后代中所有的book元素
.. 選取當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)
@ 選取屬性 //@lang 選取名為lang的所有屬性

謂語(yǔ)

  謂語(yǔ)用來(lái)查找某個(gè)特定的節(jié)點(diǎn)或者包含某個(gè)指定的值的節(jié)點(diǎn)

  謂語(yǔ)被嵌在方括號(hào)中

路徑表達(dá)式 結(jié)果
/bookstore/book[1] 選取屬于bookstore子元素的第一個(gè)book元素
/bookstore/book[last()] 選取屬于bookstore子元素的最后book元素
/bookstore/book[last()-1] 選取屬于bookstore子元素的倒數(shù)第二個(gè)book元素
/bookstore/book[position()<3] 選取最前面的兩個(gè)屬于bookstore元素的子元素的book元素
//title[@lang='eng'] 選取所有的title元素,并且這些元素?fù)碛兄禐閑ng的lang屬性
/bookstore/book[price>35.0] 選取bookstore元素的所有book元素,且其中的price值大于35.0

選取未知節(jié)點(diǎn)(通配符)

*  匹配任何 元素節(jié)點(diǎn)

@*  匹配任何屬性節(jié)點(diǎn)

node()  匹配任何類(lèi)型的節(jié)點(diǎn)

4.lxml用法

#!/usr/bin/python
#_*_coding:utf-8_*_

from lxml import etree

text='''
<div>
 <ul>
  <li class="item-0"><a href="link1.html" rel="external nofollow" rel="external nofollow" >first item</a></li>
  <li class="item-1"><a href="link2.html" rel="external nofollow" >second item</a></li>
  <li class="item-inactive"><a href="link3.html" rel="external nofollow" >third item</a></li>
  <li class="item-1"><a href="link4.html" rel="external nofollow" >fourth item</a></li>
  <li class="item-0"><a href="link5.html" rel="external nofollow" >fifth item</a>
 </ul>
</div>
  '''

# html=etree.HTML(text) #html對(duì)象,存儲(chǔ)在地址中,有自動(dòng)修正功能
# result=etree.tostring(html) #將html對(duì)象轉(zhuǎn)化為字符串

html=etree.parse('hello.html')
# result=etree.tostring(html,pretty_print=True)
# print result
print type(html)
result= html.xpath('//li')
print result
print len(result)
print type(result)
print type(result[0])
print html.xpath('//li/@class') # 獲取li標(biāo)簽下的所有的class
print html.xpath('//li/a[@href="link1.html" rel="external nofollow" rel="external nofollow" ]') #獲取li標(biāo)簽下href為link1的<a>標(biāo)簽
print html.xpath('//li//span') #獲取li標(biāo)簽下所有的span標(biāo)簽
print html.xpath('//li[last()-1]/a')[0].text #獲取倒數(shù)第二個(gè)元素的內(nèi)容

以上這篇Python爬蟲(chóng)之xlml解析庫(kù)(全面了解)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決Python找不到ssl模塊問(wèn)題 No module named _ssl的方法

    解決Python找不到ssl模塊問(wèn)題 No module named _ssl的方法

    這篇文章主要介紹了解決Python找不到ssl模塊問(wèn)題 No module named _ssl的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-04-04
  • python使用redis模塊來(lái)跟redis實(shí)現(xiàn)交互

    python使用redis模塊來(lái)跟redis實(shí)現(xiàn)交互

    這篇文章主要介紹了python使用redis模塊來(lái)跟redis實(shí)現(xiàn)交互,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-06-06
  • python怎么使用xlwt操作excel你知道嗎

    python怎么使用xlwt操作excel你知道嗎

    這篇文章主要為大家介紹了python使用xlwt操作excel的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-01-01
  • python、Matlab求定積分的實(shí)現(xiàn)

    python、Matlab求定積分的實(shí)現(xiàn)

    今天小編就為大家分享一篇python、Matlab求定積分的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • tensorflow建立一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)的方法

    tensorflow建立一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)的方法

    本篇文章主要介紹了tensorflow建立一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • Python調(diào)用PC攝像頭實(shí)現(xiàn)掃描二維碼

    Python調(diào)用PC攝像頭實(shí)現(xiàn)掃描二維碼

    PC攝像機(jī)掃描二維碼的應(yīng)用場(chǎng)景很廣泛,可以應(yīng)用于各種需要快速掃描、識(shí)別和管理的場(chǎng)景,本文就來(lái)具體講講如何用Python實(shí)現(xiàn)這一功能吧
    2023-05-05
  • Python中文件的寫(xiě)入讀取以及附加文字方法

    Python中文件的寫(xiě)入讀取以及附加文字方法

    今天小編就為大家分享一篇Python中文件的寫(xiě)入讀取以及附加文字方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • Python編程實(shí)現(xiàn)粒子群算法(PSO)詳解

    Python編程實(shí)現(xiàn)粒子群算法(PSO)詳解

    這篇文章主要介紹了Python編程實(shí)現(xiàn)粒子群算法(PSO)詳解,涉及粒子群算法的原理,過(guò)程,以及實(shí)現(xiàn)代碼示例,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • Python數(shù)據(jù)分析處理(三)--運(yùn)動(dòng)員信息的分組與聚合

    Python數(shù)據(jù)分析處理(三)--運(yùn)動(dòng)員信息的分組與聚合

    這篇文章主要介紹了Python數(shù)據(jù)清洗與處理?運(yùn)動(dòng)員信息的分組與聚合,根據(jù)Python數(shù)據(jù)清洗與處理?的相關(guān)資料展開(kāi)運(yùn)動(dòng)員信息的分組與聚合的文章內(nèi)容,需要的朋友可以參考一下
    2021-12-12
  • Python時(shí)間序列缺失值的處理方法(日期缺失填充)

    Python時(shí)間序列缺失值的處理方法(日期缺失填充)

    這篇文章主要給大家介紹了關(guān)于Python時(shí)間序列缺失值(日期缺失填充)的處理方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08

最新評(píng)論