xpath提取所有節點文字

2021-09-19 15:33:28 字數 1468 閱讀 9210

解析

xpath提取所有節點文字

我左青龍,

右白虎,

老牛在當中,龍頭在胸口。

使用xpath的string(.)

#!/usr/bin/env python

from scrapy.selector import selector

text = 『

我左青龍,

右白虎,

老牛在當中,龍頭在胸口。

』 s = selector(text=text)

data = s.xpath(』//div[@id=「test3」]』)

info = data.xpath(『string(.)』).extract()[0]

print(info)

1.具體**如下:

>>> from scrapy.selector import selector

>>> text = '我左青龍,右白虎,老牛在當中,龍頭在胸口。'

>>> selector(text=text)

我左青龍,>>> s=selector(text=text)

>>> data=s.xpath('//div[@id="test3"]')

>>> data

[我左青龍,右白'>]

>>> info=data.xpath('string(.)').extract()[0]

>>> info

'我左青龍,右白虎,上朱雀,下玄武。老牛在當中,龍頭在胸口。'

>>> info1=data.xpath('string(.)')

>>> info1

>>> info2=data.xpath('string(.)').extract()

>>> info2

['我左青龍,右白虎,上朱雀,下玄武。老牛在當中,龍頭在胸口。']

>>> info3=data.xpath('string(.)').extract()[0]

>>> info3

'我左青龍,右白虎,上朱雀,下玄武。老牛在當中,龍頭在胸口。'

>>>

>>>> "".join(s.xpath('//div[@id="test3"]//text()').extract())

'我左青龍,右白虎,上朱雀,下玄武。老牛在當中,龍頭在胸口。'

2 同時選擇多個屬性

c=response.xpath(』//div[@class=「visa_table_info」][@data-key=「1」]』)

注意 response.xpath(』//div』) 標示根目錄下所有div (包括直接和間接div) response.xpath(』/div』)直接div

如何解決詳情頁面元素改變

這個問題是這樣產生的,在很多pc站,比如鏈家,這個頁面有這些欄位a,但是下個頁面這個欄位a沒了,取而代之的是字段b,在xpath定位時就失效了。這個問題很常見,大體思路是這樣的。

參考:

使用xpath提取頁面所有a標籤的href屬性值

coding utf 8 1.選取節點 獲取所有的div元素 div 代表獲取根節點的直接子元素 獲取所有帶有id屬性的div div id 2.謂詞 索引從1開始 獲取body下面的第乙個 最後乙個div元素 前兩個 body div 1 body div last body div positi...

XPath 選取具有特定文字值的節點

使用selenium進行自動化測試時,xpath對介面元素的識別有很重要的作用。如何利用xpath查詢到帶有特定文字值的節點是乙個很重要的技能。要解決的問題 從 xml 檔案中選取具有某個特定文字值的節點,比如說我要處理的是 plist 檔案,內容如下 xml version 1.0 encodin...

從文字中提取所有的單詞

比如 hello world hello everyone,my name is caozhy 輸出 caozhy everyone hello ismy name world class dictgen public node public ienumerable string get publi...