xpath獲取標簽對本身含內容, 獲取html內容


通常使用xpath我們直接定位到標簽后, 使用/text() 或 //text()來獲取標簽對之間的文本值,

但特殊情況下我們也需要獲取標簽本身含文本值, 操作如下:

文件為html, 標簽對結構如下:

<table id='1h'> 
  <tr>
     <td>Row value 1</td>
    <td>Row value 2</td>
  </tr>
</table>

代碼如下:
from lxml import etree
import requests
from lxml.html import fromstring, tostring
url = "https://www.baidu.com/"

ret = requests.get(url, headers=headers)
code = ret.apparent_encoding # 獲取url對應的編碼格式
ret.encoding = code
html = ret.text # html文件內容即示例中的標簽

tree = etree.HTML(html)
result = tree.xpath('//*[@id="lh"]')[0]

print('看結果這里', tostring(result, encoding=code).decode(code))

注: tostring()方法即可把通過xpath定位到的標簽(含該標簽)及其下的所有標簽輸出,
  切記使用decode()方法來進行解碼


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM