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

首頁(yè) > 編程 > Python > 正文

Python爬蟲(chóng)基礎(chǔ)之XPath語(yǔ)法與lxml庫(kù)的用法詳解

2020-02-15 22:58:06
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

前言

本來(lái)打算寫(xiě)的標(biāo)題是XPath語(yǔ)法,但是想了一下Python中的解析庫(kù)lxml,使用的是Xpath語(yǔ)法,同樣也是效率比較高的解析方法,所以就寫(xiě)成了XPath語(yǔ)法和lxml庫(kù)的用法

XPath 即為 XML 路徑語(yǔ)言,它是一種用來(lái)確定 XML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言的子集)文檔中某部分位置的語(yǔ)言。

XPath 基于 XML 的樹(shù)狀結(jié)構(gòu),提供在數(shù)據(jù)結(jié)構(gòu)樹(shù)中找尋節(jié)點(diǎn)的能力。 XPath 同樣也支持HTML。

XPath 是一門(mén)小型的查詢(xún)語(yǔ)言。

python 中 lxml庫(kù) 使用的是 Xpath 語(yǔ)法,是效率比較高的解析方法。

下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧

安裝

為什么要用這個(gè)庫(kù)呢,因?yàn)橐獙?xiě)爬蟲(chóng)啊,利用lxml庫(kù)來(lái)解析 HTML 代碼,同時(shí)lxml也繼承了libxml2的特性自動(dòng)修正HTML代碼,利用pip安裝即可

pip install lxml

XPath語(yǔ)法

XPath是一門(mén)在XML文檔中查找信息的語(yǔ)言,可以用于在XML文檔中通過(guò)元素和屬性進(jìn)行導(dǎo)航

舉個(gè)栗子 😎

我們可以使用XPath提取網(wǎng)站地圖中的所有鏈接,也就是說(shuō)可以使用XPath去找我們HTML中的一些具體的東西

節(jié)點(diǎn)關(guān)系

在XPath中,有七種類(lèi)型的節(jié)點(diǎn):元素、屬性、文本、命名空間、處理指令、注釋以及文檔節(jié)點(diǎn)(或稱(chēng)為根節(jié)點(diǎn))

再舉個(gè)栗子 😎

<urlset><url><loc>https://qq52o.me</loc><lastmod>2018-04-28T19:00:42+00:00</lastmod><changefreq>daily</changefreq><priority>1.0</priority></url></urlset>

第一個(gè):父(Parent)

每個(gè)元素以及屬性都有一個(gè)父

url元素是 loc、lastmod、changefreq以及 priority元素的父

第二個(gè):子(Children)

元素節(jié)點(diǎn)可有零個(gè)、一個(gè)或多個(gè)子

loc、lastmod、changefreq以及 priority元素都是url元素的子

第三個(gè):同胞(Sibling)

擁有相同的父的節(jié)點(diǎn)

loc、lastmod、changefreq以及 priority元素都是url元素的同胞

第四個(gè):先輩(Ancestor)

某節(jié)點(diǎn)的父、父的父,等等

loc元素的先輩是 url元素和 urlset元素

第五個(gè):后代(Descendant)

某個(gè)節(jié)點(diǎn)的子,子的子,等等

urlset的后代是url、loc、lastmod、changefreq以及 priority元素

如果你分不清楚,就按照子元素從上到下的去找元素節(jié)點(diǎn)

選取節(jié)點(diǎn)

XPath使用路徑表達(dá)式在 XML 文檔中選取節(jié)點(diǎn),節(jié)點(diǎn)是通過(guò)沿著路徑或者 step 來(lái)選取的,也就是上面所說(shuō)的按照子元素從上到下去找元素節(jié)點(diǎn)

這些是最有用的路徑表達(dá)式 💡

    表達(dá)式 描述
    nodename 選取此節(jié)點(diǎn)的所有子節(jié)點(diǎn)
    /
    發(fā)表評(píng)論 共有條評(píng)論
    用戶(hù)名: 密碼:
    驗(yàn)證碼: 匿名發(fā)表
    主站蜘蛛池模板: 百色市| 安达市| 自治县| 清新县| 吕梁市| 龙岩市| 林芝县| 永胜县| 芮城县| 合川市| 亚东县| 开远市| 深圳市| 阿鲁科尔沁旗| 静宁县| 苍溪县| 卢氏县| 永清县| 双江| 普安县| 抚远县| 仁怀市| 清流县| 芒康县| 洪洞县| 吴江市| 正阳县| 顺昌县| 遂川县| 赤水市| 云阳县| 文昌市| 珠海市| 新巴尔虎右旗| 新丰县| 邯郸市| 化州市| 巴林左旗| 西乡县| 团风县| 宝坻区|
      • <progress id="s3ker"><object id="s3ker"><dfn id="s3ker"></dfn></object></progress>
        <pre id="s3ker"></pre>