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...