chrome瀏覽器安裝Xpath Helper外掛程式

2022-02-02 11:47:37 字數 3091 閱讀 4432

最近偷空研究了一下python,準備用python寫乙個爬蟲。

在使用scrapy,爬取網頁資訊時,我需要去定位節點,所以也就有了下面這篇文章。

例子**:

1

import

scrapy

2from tutorial.items import

demozitem34

class

dmozspider(scrapy.spider):

5 name = "

dmoz

"6 allowed_domains = ["

dmoz.org"]

7 start_urls =[8"

file:///d:/pyscrapy/tutorial/tutorial/spiders/test.html"9

]10defparse(self, response):11#

將爬取的資料以item物件的形式返回

12for sel in response.xpath("

//p/a[@name='鏈結']"):

13#item = demozitem()

14 list = sel.xpath('

text()

').extract()

15if len(list) !=0:

16print(list[0].replace('

', ''))

從例子**中可以看到xpath()方法中的引數為xpath路徑表示式。我要去寫我所需要資訊的xpath,才能抓取到我需要的資訊,所以書寫xpath表示式是必然的。當然你也可以直接在chrome瀏覽器中按f12,在你所要選擇的元素上右鍵-copy-copy xpath,但是這樣獲取的xpath一般可能不夠準確。所以,最好還是學習一下xpath語法。

xpath 是一門在 xml 文件中查詢資訊的語言。xpath 可用來在 xml 文件中對元素和屬性進行遍歷。(w3school 中有一些用法)

例項1:獲取name為「現病史」結點父節點的父節點(p):【可以看到表示式鎖定的p顏色為標記為了黃色。】

//

span[1]/a[@name='現病史']/parent::node()[1]/parent::node()

例項2:獲取子節點(child::node()[1]代表取子節點的第乙個,如果不寫則是取所有):

可以看到一共匹配了376個結果,當前是第九個滿足匹配的節點。

例項3:獲取文字內容為 「手術外傷史」 的同級標籤:

//

p[span="手術外傷史:"]/child::node()

例項4:獲取p標籤,p的子節點的文字中包含  」婚姻史「 或者 「婚育史」 

.//

p[contains(.,'婚姻史')]| .

//p[contains(.,'婚育史')]

圖1:

圖2:

例項5:獲取子標籤文字中包含 「初步診斷」 文字的tbody標籤:

.//

tbody[tr[td[p[contains(.,'初步診斷')]]]]

例項6:【某x標籤後的第乙個y標籤】獲取「輔助檢查「所在p標籤後的第乙個table標籤:

.//

p[contains(.,'輔助檢查')]/following-sibling::table[1]

p[span[a[@name="體格檢查"]]]/following-sibling::*[1]

xpath軸(xpath axes)可定義某個相對於當前節點的節點集:

1、child 選取當前節點的所有子元素

2、parent 選取當前節點的父節點

3、descendant 選取當前節點的所有後代元素(子、孫等)

4、ancestor 選取當前節點的所有先輩(父、祖父等)

5、descendant-or-self 選取當前節點的所有後代元素(子、孫等)以及當前節點本身

6、ancestor-or-self 選取當前節點的所有先輩(父、祖父等)以及當前節點本身

7、preceding-sibling 選取當前節點之前的所有同級節點

8、following-sibling 選取當前節點之後的所有同級節點

9、preceding 選取文件中當前節點的開始標籤之前的所有節點

10、following 選取文件中當前節點的結束標籤之後的所有節點

11、self 選取當前節點

12、attribute 選取當前節點的所有屬性

13、namespace 選取當前節點的所有命名空間節點

chrome瀏覽器安裝

在centos 7.x 安裝chrome 瀏覽器的方法。首先在 etc yum.repos.d目錄中建立google chrome.repo檔案,其寫入如下內容 plain view plaincopy google chrome name google chrome baseurl enabled...

Centos Yum安裝Chrome瀏覽器

其實,根本的原因不是centos rhel 6有多老,連windows xp和停止更新的ubuntu 10.04都能繼續使用chrome呢。實際的原因是,chrome由於種種考慮,使用了centos rhel 6中所不支援的c 11,所以才不能繼續更新centos rhel 6上的chrome。那麼...

CentOS安裝Chrome瀏覽器

2 安裝chrome 3 可能出現的問題 執行下列命令即可 root localhost downloads rpm ivh google chrome stable current x86 64.rpm錯誤 依賴檢測失敗 usr bin lsb release 被 google chrome st...