学习文档:https://book.apeland.cn/details/66/
xpath解析
xpath解析:最常见且最便捷高效的一种解析方式,通用性强。
xpath解析原理
1.实例化一个etree的对象,且需要将解析的页面源码数据加载到etree对象中
2.调用etree对象中的xpath方法,并结合xpath表达式实现标签的定位和内容的捕获。
环境的安装
pip install lxml
如何实例化一个etree对象
1.将本地的html文档中的源码数据加载到etree对象中:
etree.parse(filePath)
2.将从互联网上获取的源码数据加载到etree对象中
etree.HTML('page_text')
---xpath('xpath表达式')
xpath表达式
tree = etree.parse(‘test.html’)
符号 | 功能 | 功能 |
---|---|---|
/ | 从根节点开始已定位,表示的是一个层级 | r = tree.xpath(’/html/body/div’) |
// | 1.表示多个层级。2.可以表示从任意位置开始定位 | r = tree.xpath(’/html//div’) 或者r = tree.xpath(’//div’) |
tag[@attrName=“attrValue”] | 属性定位 | r = tree.xpath(’//div[@class=“song”]’) 【首先从根目录定位到所有的div属性,之后经过@class定位到class=song的标签下】 |
tag[@attrName=“attrValue”]/tag[num] | 索引定位[索引定位是从1开始的] | r = tree.xpath(’//div[@class=“song”]’) /p[3] |
/@attrName | 属性 | r = tree.xpath(‘div[@class=“song”]/img/@src’) 表示的是div标签中class=song属性下的子img标签下的src标签内容 |