python xpath 簡單語法

2021-08-20 07:22:21 字數 1084 閱讀 2735

item['price'] = response.xpath('//span[@class="p-price"]/span[2]/text()').extract_first()

1.//開頭表示如果我們不想定義它的父元素,就用//表示

2.匹配具體的屬性值,這裡是class=p-price的

3.xpath一級級用/來

4.[2] 表示第二個元素,xpath中第乙個是1,不是0

5.獲取標籤內的文字用text()

item['color'] = response.xpath('//div[@id="choose-attr-1"]/div[@class="dd"]/div[contains(@class, \'item\')]/@data-value').extract()
1.如果有2個class,你只指定了乙個class是無法匹配的,要用到contains進行匹配

2.屬性用@xx, 比如的data-value,用@data-value

items = response.xpath('//div[@id="plist"]/ul/li[@class="gl-item"]')

for product in items:

item = jdspla****em()

item['price'] = product.xpath('.//strong[@class="j_price"]/i/text()').extract_first()

# item['price'] = product.css('.j_price i::text').extract_first()

item['img_url'] = product.css('.p-img img::attr("src")').extract_first()

yield item

1. 如果div和li之間還有ul,也要寫上,不能之間用//div[@id="plist"]/li[@class="gl-item"]來匹配,xpath是一層一層來解析的

2. 迴圈的時候,如果是從父元素開始匹配,要用.//, 不能用//,//是全域性的

python xpath 基本用法

在進行網頁抓取的時候,分析定位html節點是獲取抓取資訊的關鍵,目前我用的是lxml模組 用來分析xml文件結構的,當然也能分析html結構 利用其lxml.html的xpath對html進行分析,獲取抓取資訊 以下是關於xpath的一些基本用法 在介紹xpath的匹配規則之前,我們先來看一些有關x...

Python xpath匹配內容

我們想要匹配到紅框內的內容,使用xpath進行匹配,檢視了這個原始碼將原始碼copy為text,寫程序式中 coding utf 8 from lxml import etree text r etree.html text a r.xpath div class lemma summary div...

Python XPath 多執行緒例項

xpath初識 coding utf 8 from lxml import etree 定位根節點 往下層尋找 text 提取文字內容 x 提取屬性內容 html 極客學院 點我開啟課程庫 selector etree.html html 提取文字 content selector.xpath ul...