国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python爬蟲之xlml解析庫(全面了解)

2020-01-04 17:08:02
字體:
來源:轉載
供稿:網友

1.Xpath

Xpath是一門在XML中查找信息的語言,可用來在XML文檔中對元素和屬性進行遍歷。XQuery和xpoint都是構建于xpath表達之上

2.節點

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

3.選取節點

路徑表達式

 

表達式 描述 路徑表達式 結果
nodename 選取此節點上的所有的子節點 bookstore 選取bookstore元素的所有子節點
/ 從根節點上選取 /bookstore 選取根元素bookstore,為絕對路徑
// 從匹配選擇的當前節點選擇文檔中的節點,不考慮位置 //book 選取所有的book子元素,而不管他們在文檔的位置
. 選取當前節點 bookstore//book 選擇bookstore后代中所有的book元素
.. 選取當前節點的父節點    
@ 選取屬性 //@lang 選取名為lang的所有屬性

 

謂語

  謂語用來查找某個特定的節點或者包含某個指定的值的節點

  謂語被嵌在方括號中

 

路徑表達式 結果
/bookstore/book[1] 選取屬于bookstore子元素的第一個book元素
/bookstore/book[last()] 選取屬于bookstore子元素的最后book元素
/bookstore/book[last()-1] 選取屬于bookstore子元素的倒數第二個book元素
/bookstore/book[position()<3] 選取最前面的兩個屬于bookstore元素的子元素的book元素
//title[@lang='eng'] 選取所有的title元素,并且這些元素擁有值為eng的lang屬性
/bookstore/book[price>35.0] 選取bookstore元素的所有book元素,且其中的price值大于35.0

 

選取未知節點(通配符)

*  匹配任何 元素節點

@*  匹配任何屬性節點

node()  匹配任何類型的節點

4.lxml用法

#!/usr/bin/python#_*_coding:utf-8_*_from lxml import etreetext='''<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對象,存儲在地址中,有自動修正功能# result=etree.tostring(html) #將html對象轉化為字符串html=etree.parse('hello.html')# result=etree.tostring(html,pretty_print=True)# print resultprint type(html)result= html.xpath('//li')print resultprint len(result)print type(result)print type(result[0])print html.xpath('//li/@class') # 獲取li標簽下的所有的classprint html.xpath('//li/a[@href="link1.html" rel="external nofollow" rel="external nofollow" ]') #獲取li標簽下href為link1的<a>標簽print html.xpath('//li//span') #獲取li標簽下所有的span標簽print html.xpath('//li[last()-1]/a')[0].text #獲取倒數第二個元素的內容

以上這篇Python爬蟲之xlml解析庫(全面了解)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 迁安市| 象州县| 通山县| 望城县| 镇巴县| 成都市| 黄梅县| 枣庄市| 潍坊市| 无棣县| 屏山县| 黔西| 金坛市| 额济纳旗| 丰镇市| 安龙县| 吴桥县| 米林县| 嵊泗县| 霍州市| 南宫市| 内乡县| 岑巩县| 腾冲县| 望都县| 博乐市| 易门县| 许昌市| 霞浦县| 南汇区| 白城市| 明溪县| 太仆寺旗| 汾西县| 南康市| 湟源县| 高清| 汉沽区| 剑河县| 仁怀市| 南丹县|