爬蟲日記 xpath來臨

2022-03-11 09:13:14 字數 1031 閱讀 9826

xpath解析是最常用且最便捷高效的一種解析方式,通用性最強。

例項化乙個etree的物件,且需要將被解析的頁面原始碼資料載入到該物件中。

呼叫etree物件中的xpath方法接個著xpath表示式實現標籤的定位和內容的捕獲。

—如何例項化乙個etree物件:from lxml import etree

將本地的html文件中的原始碼資料載入到etree物件中:etree.parse(filepath)

可以將從網際網路上獲取的原始碼資料載入到該物件中:etree.html('page_text')

xpath('xpath表示式'):

— /:表示的是從根節點開始定位,表示的是乙個層級

— //:表示的是多個層級,可以表示從任意位置開始定位

— 屬性定位://div[@class='song'] tag[@attrname='attrvalue']

— 索引定位: //div[@class='song'] /p[3]索引是從1開始的,不是0.

— 取文字:

​ — /text() 獲取的是標籤中直系的文字內容

​ — //text() 獲取的是標籤中的非直系的文字內容(所有文字內容)

— 去屬性值:

​ /@attrname ==>img/src

乙個很重要的點,在我們進行區域性解析的時候,也就是說這個時候我們不是以html為根節點了,這是後要用 ./開頭,而不是/ 或者 // ,不然的話,會直接把你定位到html標籤去。

當我們想要在**上獲取中文內容的時候會發現,有時候會出現亂碼,是因為網頁上的預設編碼都是iso編碼,而不是我們pycharm磨人的utf-8,因此我們有兩種方式改變編碼。

一種是直接把獲取的響應資料用.encoding來改,如果沒有用的話,就用下面,你想要的中文內容進行編碼改變。

標籤裡的 id是唯一的,所以有id的時候就用id,不要用class吧。

xpath 爬蟲利器

用xpath的爬取網頁內容的初步了解 xpath提取文字內容 text 提取屬性內容 coding utf 8 author zjp from lxml import etree import requests url response1 requests.get url 獲取網頁響應 select...

爬蟲 xpath 匹配

從根標籤開始 必須具有嚴格的父子關係 從當前標籤 後續節點含有即可選出 import lxml.html test data 111111 29.99 222222 39.95 33333 40 123 萬用字元,選擇所有 div book 1 title 選擇div下第乙個book標籤的title...

爬蟲入門 XPATH

識別符號 作用節點名 獲取節點的所有子節點 獲取屬性 從根節點獲取 從匹配選擇的當前節點擊擇文件中的節點,而不考慮它們的位置 獲取當前節點 獲取當前節點的父節點 可以通過組合使用縮小搜尋的範圍 以下面的為例子 元素 標籤 strong div標籤中的 class cover wp 標籤中間的內容 8...