Xpath string 提取多個子節點中的文字

2021-10-05 05:38:19 字數 953 閱讀 5300

xpath string()提取多個子節點中的文字

我想要把所有li標籤中的文字提取出來,並且放到乙個字串中.

在網上查了下發現使用xpath的string()函式可以實現(string()和text()的區別請自行google)

先看下常見的方法:

>>> from lxml import etree

...>>> result = html.xpath("//div/ul[@class='show']")[0]

>>> result.xpath('string(.)')

』 275萬購昌平鄰鐵三居 總價20萬買一居 00萬內購五

環三居 140萬安家東三環 北京首現零首付樓盤 53萬購東5環50平

京樓盤直降5000 中信府 公園樓王現房 』

這是我查到的多數人使用的方法,還有人使用了concat()函式,更麻煩就不提了.

但是上面的匹配明顯感覺可以寫到一條xpath裡面的,為什麼非要分開寫!忍不住吐槽一下

xpath string()函式的呼叫寫法:

>>> html.xpath("string(//div/ul[@class='show'])")

#**節點擊取上一層**

275萬購昌平鄰鐵三居 總價20萬買一居

00萬內購五環三居 140萬安家東三環

北京首現零首付樓盤 53萬購東5環50平

京樓盤直降5000 中信府 公園樓王現房 '

string()抽取當前節點及以下的的所有文字,上例中抽取了li節點後的轉行符

再吐槽下上面那種寫法.在xpath語法裡面,點(.)表示當前節點,當前節點不就是html.xpath("//div/ul[@class=『show』]")[0]取到的節點元素嗎!!!

Xpath string 提取多個子節點中的文字

我想要把所有li標籤中的文字提取出來,並且放到乙個字串中.在網上查了下發現使用xpath的string 函式可以實現 string 和text 的區別請自行google 先看下常見的方法 from lxml import etree result html.xpath div ul class sh...

關於多個Servlet的簡化提取

建立乙個baseservlet來儲存大量重複的 dopost,doget public 然後就是實現類 以註冊為例 webservlet name userservlet value userservlet 這裡要寫上註解 public class userservlet extends bases...

xpath提取多個標籤下的text

原文 主題xpath 在寫爬蟲的時候,經常會使用xpath進行資料的提取,對於如下的 使用xpath提取是非常方便的。假設網頁的源 在selector中 data selector.xpath div id test1 text extract 0 然而如果遇到下面這段 呢?id test2 美女,...