lxml中的xpat詳細使用介紹:
importlxml
import
lxml.etree
html=lxml.etree.parse("
index.html")
(type(html))
res=html.xpath("
//li
") #
res是乙個列表,包含所有元素
(len(res))
print(type(res)) #
list
print(type(res[0])) #節點#
//選取所有book 子元素
#/選擇路徑目錄,選擇乙個
#@ 選擇屬性
print(html.xpath("
//li/@class
")) #
取出li的所有節點class名稱
print(html.xpath("
//li/@text
")) #
print(html.xpath("
//li/a
")) #
li下面5個節點,每個節點對於乙個元素
print(html.xpath("
//li/a/@href
")) #
取出li的所有節點 a內部href名稱
print(html.xpath("
//li/a/@href=\"link3.html\"
")) #
判斷是有乙個節點==link3.html
print(html.xpath("
//li/span
")) #
取出li下面的所有span
print(html.xpath("
//li/span/@class
")) #
取出li下面所有的span內部的class
print(html.xpath("
//li//a/@class
")) #
取出li的所有節點內部節點a包含的class
print(html.xpath("
//li
")) #
取出所有節點
print(html.xpath("
//li[1]
")) #
取出第乙個節點
print(html.xpath("
//li[last()]
")) #
取出最後乙個
print(html.xpath("
//li[last()-1]
")) #
取出倒數第二個
#print(html.xpath("//li[last()-1])/a/@href") #取出倒數第二個a下面的href
print(html.xpath("
//*[@text=\"3\"]
"))#
選著text=3的元素
print(html.xpath("
//*[@text=\"3\"]/@class
")) #
選著text=3的元素
print(html.xpath("
//*[@class=\"nimei\"]"))
print(html.xpath("
//li//a/text()
")) #
text() 取出<>
print(html.xpath("
//li[3]/a/span/text()
")) #
取出內部<>資料
request結合lxml包中的xpath使用
coding utf 8 爬蟲必須寫,防止編譯錯誤 import requests import re 正則 from lxml import etree 轉化html文件包 url 統一資源定位符 headers 請求頭 html all print requests.get url url,he...
python中lxml使用方式
前言 前面已經學習了requests和beautifulsoup庫的知識,大家可以看,今天再來學習一下用一種網頁解析的庫lxml。lxml是python語言裡和xml以及html工作的功能最豐富和最容易使用的庫。lxml是為libxml2和libxslt庫的乙個python化的繫結。它與眾不同的地方...
lxml模組的使用
安裝 pip install lxml 匯入lxml 的 etree 庫 匯入沒有提示不代表不能用 from lxml import etree 利用etree.html,將字串轉化為element物件,element物件具有xpath的方法,返回結果的列表,能夠接受bytes型別的資料和str型別...