xpath解析
xpath解析:最常用最便捷高效的一种解析方式,通用性强,适合各种语言。
xpath解析原理(类似bs4,实现标签的定位)
- 实例化一个etree对象,并且需要将被解析的页面源码数据加载到该对象中;
- 调用etree对象中的xpath方法结合着xpath表达式实现标签的定位和内容的捕获;
环境的安装
- 安装解析器
pip install lxml
实例化一个etree对象
- 首先要导入etree类
from lxml import etree
- 方式一:将本地的html文档中的源码数据加载到etree对象中
etree.parse(filepath)
- 方式二:可以将从互联网上获取的源码数据加载到该对象中
etree.HTML('page_text')
使用xpath表达式进行解析
- xpath(‘xpath表达式’)
- .:表示的当前层级
- /:最左侧的’/‘表示从根节点开始定位,中间’/'表示层级关系
- //:最左侧的’//‘表示从任意位置开始定位,中间’//'表示多个层级
- 属性定位:tag[@attrName=‘attrValue’],例如://div[@class=‘song’]
- 索引定位:tag[index],注意索引是从1开始的,例如: //div[@class=‘song’]/p[index]
- 取文本:
- /text() 获取的是标签中的直系文本内容
- //text() 获取的是标签中的所有文本内容
- 取属性:@attrName,例如://div[@class=‘song’]/img/@src