<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <ul class="clearfix"> <li class="pa-3rXKoIIo"><a href="//finance.ifeng.com/" target="_blank" rel="nofollow me noopener noreferrer" title="財經首頁">財經首頁</a></li> <li class=""><a href="//finance.ifeng.com/stock/" target="_blank" rel="nofollow me noopener noreferrer" title="股票">股票</a> </li> <li class=""><a href="//finance.ifeng.com/gold/" target="_blank" rel="nofollow me noopener noreferrer" title="iMarkets">iMarkets</a></li> <li class=""><a href="//finance.ifeng.com/shanklist/1-66-" target="_blank" rel="nofollow me noopener noreferrer" title="全球快報">全球快報</a></li> <li class=""><a href="http://finance.ifeng.com/hk" target="_blank" rel="nofollow me noopener noreferrer" title="港股">港股</a> </li> <li class=""><a href="//tech.ifeng.com/" target="_blank" rel="nofollow me noopener noreferrer" title="科技">科技</a> </li> <li class=""><a href="//finance.ifeng.com/money/" target="_blank" rel="nofollow me noopener noreferrer" title="理財">理財</a> </li> <li class=""><a href="//toujiao.ifeng.com/" target="_blank" rel="nofollow me noopener noreferrer" title="投教">投教</a> </li> <li class=""><a href="//ds.ifeng.com/" target="_blank" rel="nofollow me noopener noreferrer" title="大賽">大賽</a></li> <li class=""><a href="https://finance.ifeng.com/shanklist/1-74-" target="_blank" rel="nofollow me noopener noreferrer" title="WEMONEY">WEMONEY</a></li> <li class=""><a href="//www.fengjr.com/cn/?c=1coa7kli3-1&channel=1coa7kli3-1" target="_blank" rel="nofollow me noopener noreferrer" title="鳳凰金融">鳳凰金融</a></li> <li class=""><a href="https://finance.ifeng.com/stock/special/sgkmh/" target="_blank" rel="nofollow me noopener noreferrer" title="神光">神光</a></li> <li class=""><a href="http://culture.ifeng.com/huodong/special/2018sdzhjt/" target="_blank" rel="nofollow me noopener noreferrer" title="捨得講堂">捨得講堂</a></li> <li class=""><a href="//finance.ifeng.com/institute/index.shtml" target="_blank" rel="nofollow me noopener noreferrer" title="研究院"><h3>研究院</h3></a></li> </ul> </body> </html>
例子
//ul[@class="clearfix"]/li 獲取class="clearfix"的url下的全部的li
//ul[@class="clearfix"]/li/@class 獲取class="clearfix"的url下的全部的li的class屬性
//ul[@class="clearfix"]/li/a/text() 獲取class="clearfix"的url下的全部的li下的a標籤的內容
//ul[@class="clearfix"]/li/a/@href 獲取class="clearfix"的url下的全部的li下的a標籤href的屬性
//ul[@class="clearfix"]/li/a/@title 獲取class="clearfix"的url下的全部的li下的a標籤title的屬性
//ul/li/a/h3 獲取的值爲研究院 獲取h3 要一級一級的寫,漏掉會報錯
//ul//h3 獲取的值爲研究院 //當前ul下的任意一個節點選取,不用一級一級的寫
//a[@class="n"]/@href 獲取下一頁網址
//a[text()="下一頁>"] 根據文本定位html
<html><body> <div> <div> <ul> <li class="item-0"><a href="link1.html">first item</a></li> <li class="item-1"><a href="link2.html">second item</a></li> <li class="item-inactive"><a href="link3.html"><span class="bold">third item</span></a></li> <li class="item-1"><a href="link4.html">fourth item</a></li> <li class="item-0"><a href="link5.html">fifth item</a></li> </ul> </div> </div> </body></html> / 從根節點選取。 // 從當前html中的任意位置開始選擇。 . 選取當前節點。 .. 選取當前節點的父節點。 @ 選取屬性。 li//a/text()獲取a標籤文本
li//a//text()獲取a標籤下全部文本 li//a 表示li下的任何一個標籤 li//span 1. 獲取全部的 <li> 標籤 result = html.xpath('//li') 2. 繼續獲取<li> 標籤的全部 class屬性 result = html.xpath('//li/@class') 3. 繼續獲取<li>標籤下hre 爲 link1.html 的 <a> 標籤 result = html.xpath('//li/a[@href="link1.html"]') 4. 獲取<li> 標籤下的全部 <span> 標籤 result = html.xpath('//li//span') 5. 獲取 <li> 標籤下的<a>標籤裏的全部 class result = html.xpath('//li/a//@class') 6. 獲取最後一個 <li> 的 <a> 的 href result = html.xpath('//li[last()]/a/@href') 7. 獲取倒數第二個元素的內容 result = html.xpath('//li[last()-1]/a/text()')
<div class="indent"> <div class=""> <p class="ul first"></p> <table width="100%" class=" xh-highlight"> <tbody> <tr class="item"> <td width="100" valign="top"> <a class="nbg" href="https://movie.douban.com/subject/30414462/" title="黑鏡:潘達斯奈基"> <img src="https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2543862640.webp" width="75" alt="黑鏡:潘達斯奈基" class=""> </a> </td> <td valign="top"> <div class="pl2"> <a href="https://movie.douban.com/subject/30414462/" class=""> 黑鏡:潘達斯奈基 / <span style="font-size:13px;">黑鏡:2018聖誕特別篇</span> </a> <p class="pl">2018-12-28(美國) / 菲恩·懷特海德 / 克雷格·帕金森 / 愛麗絲·洛維 / 阿西姆·喬杜裏 / 威爾·保爾特 / 塔露拉·哈登 / 卡特里奧·諾克斯 / 保羅·布拉德利 / 喬納森·阿里斯 / A·J·霍頓 / 弗勒爾·基思 / 勞拉·埃弗蘭 / 阿倫·阿薩德 / 蘇珊妮·伯登...</p> <div class="star clearfix"> <span class="allstar35"></span> <span class="rating_nums">7.0</span> <span class="pl">(35794人評價)</span> </div> </div> </td> </tr> </tbody> </table> <div id="collect_form_30414462" class=""></div> <p class="ul"></p> <table></table> <table></table> <table></table> </div> </div>
//div[@class="indent"]/div/table 獲取全部table,一級一級選
//div[@class="indent"]//table 獲取全部table
//div[@class="indent"]//table[1] 獲取第一個table
//div[@class="indent"]//table//div[@class="pl2"]/a//text() 獲取全部a下面的全部文本
//div[@class="indent"]//table//div[@class="pl2"]/a/@href 獲取a標籤的href
//div[@class="indent"]//table//a[@class="nbg"]/img/@src 全部圖片的srcweb