課堂筆記
1. xpath介紹
1.1 基本概念
• XPath(XML Path Language)是一種XML的查詢語言,他能在XML樹狀結構中尋找節點。XPath 用於在 XML 文檔中通過元素和屬性進行導航
• xml是一種標記語法的文本格式,xpath可以方便的定位xml中的元素和其中的屬性值。lxml是python中的一個包,這個包中包含了將html文本轉成xml對象,和對對象執行xpath的功能
1.2 結點的關係
xml_content = '''
<bookstore>
<book>
<title lang='eng'>Harry Potter</title>
<author>K.Rowing</author>
<year>2005</year>
<price>29<price>
</book>
</bookstore>
'''
• 父(Parent) book元素是title、author、year、price元素的父
• 子(Children) title、author、year、price都是book元素的子
• 同胞(Sibling) title、author、year、price都是同胞
• 先輩(Ancestor) title元素的先輩是 book元素和bookstore元素
2. 基本使用
2.1 工具安裝
安裝參考網站
https://blog.csdn.net/qq_31082427/article/details/84987723
查找某個特定的節點或者包含某個指定的值的節點
2.2 模塊的使用
在Python中,我們安裝lxml庫來使用XPath 技術
lxml 是 一個HTML/XML的解析器,主要的功能是如何解析和提取HTML/XML數據利用etree.HTML,將字符串轉化爲Element對象
lxml python 官方文檔:http://lxml.de/index.html
可使用 pip 安裝:pip install lxml
lxml 可以⾃動修正 html 代碼
wb_data = """
<div>
<ul>
<li class="item-0"><a href="link1.html">first item</a></li>
<li class="item-1"><a href="link2.html">second item</a></li>
<li class="item-inactive"><a href="link3.html">third item</a></li>
<li class="item-1"><a href="link4.html">fourth item</a></li>
<li class="item-0"><a href="link5.html">fifth item</a>
</ul>
</div>
"""
3.使用
from lxml import etree
這個etree類能幹什麼?
• 第一個是將html字符串轉化爲element對象
• 第二個是element對象可以轉換爲字符串或者二進制類型