目前看到2-5
xPath:
1.一種HTML和XML的查詢語言,他能在XML和HTML的樹狀結構中尋找節(jié)點
2.安裝 pip install lxml
超文本,不僅僅是文本
url 唯一對應
css就是樣式
單斜杠是根路徑開始匹配
雙斜杠是隨便哪里開始匹配
#使用xpath
from lxml import html
def parse():
""" 將html文件中的內(nèi)容拟赊,使用xpath進行提取 """
# 讀取文件中的內(nèi)容
f = open('./static/index.html', 'r', encoding='utf-8')
s = f.read()
selector = html.fromstring(s)
# 解析H3標題
h3 = selector.xpath('/html/body/h3/text()')
print(h3[0]) #[0]是為了數(shù)組的切割
# 解析ul下面的內(nèi)容
# ul = selector.xpath('/html/body/ul/li')
ul = selector.xpath('//ul/li')
print(len(ul))
for li in ul:
print(li.xpath('text()')[0])
# 解析ul指定的元素值
ul2 = selector.xpath('/html/body/ul/li[@class="important"]/text()')
print(ul2)
# 解析a標簽的內(nèi)容
a = selector.xpath('//div[@id="container"]/a/text()')
# 標簽內(nèi)的內(nèi)容
print(a[0])
# href屬性
alink = selector.xpath('//div[@id="container"]/a/@href')
print(alink[0])
# 解析P標簽
p = selector.xpath('/html/body/p[last()]/text()')
print(len(p))
print(p[0])
test = selector.xpath('/html/body/ul/li[3]/text()')
print(test[0])
f.close()
if __name__ == '__main__':
parse()
偷懶的方法 直接右鍵檢查元素班缰。復制xpath