python——xpath
生活随笔
收集整理的這篇文章主要介紹了
python——xpath
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
python——xpath
- 1、xpath簡介
- 2. 安裝
- 3. 數據轉換
- 4. 調用xpath方法
1、xpath簡介
- xpath是語法不是解析庫
- xpath語法:
| 節點 | / |
| 跨節點 | // |
| 精確的標簽 | //a[@屬性=“屬性值”] |
| 標簽包裹的內容 | / text() |
| 屬性 | @href |
| 模糊匹配 | //div[contain(@class,“a”)] |
| 下一個節點(兄弟關系)即取兄弟標簽 | //head/following-sibling:: *[1] |
- 注意事項:
2. 安裝
#開始安裝支持解析html和XML的解析庫lxml pip install lxml3. 數據轉換
轉化為解析類型
from lxml import etree import requests url = "http://news.baidu.com" headers = {"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50"} data = requests.get(url,headers = headers).content.decode("utf-8")# 轉化為解析類型 X_data = etree.HTML(data)4. 調用xpath方法
# 直接從網頁復制粘貼xpath X_data.xpath('//*[@id="header"]/h1/text()')# 根節點的方法 X_data.xpath('/html/head/title/text()')# 跨節點的方法 X_data.xpath("//a/text()")# 精確的標簽 X_data.xpath('//a[@mon="r=1"]/text()')# 獲取屬性 X_data.xpath('//a[@mon="r=1"]/@target')# 模糊匹配 X_data.xpath('//a[contains(@mon,"r")]/text()')# 取兄弟標簽 X_data.xpath("//head/following-sibling::*[0]/text()")總結
以上是生活随笔為你收集整理的python——xpath的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python——正则表达式
- 下一篇: 强化学习—— TD算法(Sarsa算法+