2016-09-30 60 views
0

我有一個HTML網頁,其中我已經用讀入樹:tree = html.fromstring(page.content)lxml.html解析HTML:尋找具有特定同級的所有元素

我已經成功地使用選擇一個鏈接列表:

tree.xpath('//span[@class="txt"]/span[@class="pl"]/a[@class="hrdlnk"]/text()')

我也成功入選使用價格清單:

tree.xpath('//span[@class="txt"]/span[@class="l2"]/span[@class="price"]/text()') 

注意兩個hrdlnk和價格都grandc hildren的span[@class="txt"]

我的問題是,我正在創建一個笛卡爾的鏈接X價格圖。我需要它們的相關性,所以我需要確保我正在創建一組正確匹配的字典。這很簡單,除了有時沒有價格,這意味着我需要忽略鏈接。

如何選擇僅有價格同級的鏈接並選擇價格?如何將這些信息輸入到字典中並添加到數組中,以確保正確地匹配一組鏈接和價格?

回答

-1

第一個問題的答案。這個xpath應該只選擇那些有價格孫輩的孫輩span[@class="txt"]的鏈接:

tree.xpath('//span[@class="txt" and ./span[@class="l2"]/span[@class="price"]]/span[@class="pl"]/a[@class="hrdlnk"]/text()') 
相關問題