91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Xpath工具與 lxml 庫

發布時間:2022-01-14 09:34:49 來源:億速云 閱讀:154 作者:柒染 欄目:大數據

這篇文章主要為大家分析了如何使用Xpath工具與 lxml 庫的相關知識點,內容詳細易懂,操作細節合理,具有一定參考價值。如果感興趣的話,不妨跟著跟隨小編一起來看看,下面跟著小編一起深入學習“如何使用Xpath工具與 lxml 庫”的知識吧。

小編介紹的是內容提取的工具 —— Xpath,它一般和 lxml 庫搭配使用。

1 Xpath 和 lxml

  • Xpath

XPath即為XML路徑語言,它是一種用來確定XML(標準通用標記語言的子集)文檔中某部分位置的語言。XPath 基于 XML 的樹狀結構,提供在數據結構樹中找尋節點的能力。

Xpath 原本是用于選取 XML 文檔節點信息。XPath 是于 1999 年 11 月 16 日 成為 W3C 標準。因其既簡單方便又容易,所以它逐漸被人說熟知。

  • lxml

lxml 是功能豐富又簡單易用的,專門處理 XML 和 HTML 的 Python 官網標準庫。

2 Xpath 的語法

正則表達式的枯燥無味又學習成本高,Xpath 可以說是不及其萬分之一。所以只要花上 10 分鐘,掌握 Xpath 不在話下。Xpath 的語言以及如何從 HTML dom 樹中提取信息,我將其歸納為“主干 - 樹支 - 綠葉”。

2.1 “主干” —— 選取節點

抓取信息,我們需知道要從哪里開始抓取。因此,需要找個起始節點。Xpath 選擇起始節點有以下可選:

如何使用Xpath工具與 lxml 庫

我們通過以下實例來了解其用法:

如何使用Xpath工具與 lxml 庫

如果你對于提取節點沒有頭緒的時候,可以使用通配符來暫時替代。等查看輸出內容之后再進一步確認。

如何使用Xpath工具與 lxml 庫

2.2 “分支” —— 關系節點與謂語

這一步的過程其實是通過起點一步步來尋找最終包含我們所需內容的節點。我們有時需要使用到相鄰節點信息。因此,我們需要了解關系節點或者謂語。

  • 關系節點

一般而言,DOM 樹中一個普通節點具有父節點、兄弟節點、子節點。當然也有例外的情況。這些有些節點比較特殊,可能沒有父節點,如根節點;也有可能是沒有子節點,如深度最大的節點。Xpath 也是有支持獲取關系節點的語法。

如何使用Xpath工具與 lxml 庫

  • 謂語

謂語用來查找某個特定的節點或者包含某個指定的值的節點。同時,它是被嵌在方括號中的。

如何使用Xpath工具與 lxml 庫

2.3”綠葉” —— 節點內容以及屬性

到了這一步,我們已經找到所需內容的節點了。接下來就是獲取該節點中的內容了。Xpath 語法提供了提供節點的文本內容以及屬性內容的功能。

如何使用Xpath工具與 lxml 庫

具體用法見以下實例:

如何使用Xpath工具與 lxml 庫

3 lxml 的用法

3.1 安裝 lxml

pip 是安裝庫文件的最簡便的方法,具體命令如下:

如何使用Xpath工具與 lxml 庫

3.2 使用 lxml

lxml 使用起來是比較簡單的。我們首先要使用 lxml 的 etree 將 html 頁面進行初始化,然后丟給 Xpath 匹配即可。具體用法如下:

如何使用Xpath工具與 lxml 庫

沒錯,就這短短幾行代碼即可完成信息提取。
值得注意的是:xpath 查找匹配返回的類型有可能是一個值,也有可能是一個存放多個值的列表。這個取決于你的路徑表達式是如何編寫的。

關于“如何使用Xpath工具與 lxml 庫”就介紹到這了,更多相關內容可以搜索億速云以前的文章,希望能夠幫助大家答疑解惑,請多多支持億速云網站!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

德令哈市| 山阴县| 贡山| 普兰县| 南投县| 丰原市| 丹棱县| 仁化县| 霍山县| 新竹市| 汉源县| 海安县| 伽师县| 洞头县| 德钦县| 抚远县| 剑河县| 英吉沙县| 博客| 会昌县| 桓台县| 桂林市| 平山县| 榆社县| 二手房| 曲水县| 石首市| 宜丰县| 青州市| 隆尧县| 聂荣县| 四川省| 浦江县| 海兴县| 桂林市| 黑山县| 青海省| 莱阳市| 修文县| 青田县| 昌乐县|