Xpath解析
- 环境安装:
- pip install lxml
- 解析原理:
-1.实例化一个etree的对象,且将带解析的页面源码数据加载到该对象中
-2.调用etree对象的xpath方法结合着不同的xpath表达式实现标签的定位和数据提取
-实例化etree对象- etree.parse(‘filename’):将本地html文档加载到该对象中
- etree.html(page_text):网站获取的页面数据加载到该对象
- etree.parse(‘filename’):将本地html文档加载到该对象中
- 标签定位
- 最左侧的/:如果xpath表达式最左侧是以/开头则表示该xpath表达式一定要从根标签开始定位指定标签
- 非最左侧的/:表示一个层级(可以看成绝对路径)
- 非左侧的//:表示多个层级
- 最左侧的//:xpath表达式可以从任意位置进行标签定位(可以看成相对路径)
- 属性定位:tagName[@attrName=“value”]
- 索引定位:tag[index]:索引是从1开始
- 取文本
- /text() :直系文本内容
- //text():所有文本内容
- /text() :直系文本内容
- 取属性
- /@attrNAME