xpath解析:最常用且最便捷高效的一种解析方式
1、xpath解析原理
(1)实例化一个etree的对象,且需要将被解析的页面源码数据加载到该对象中
(2)调用etree对象中的xpath方法结合着xpath表达式实现标签的定位和内容的捕获
2、环境的安装
pip install lxml
3、如何实例化一个etree对象
form lxml import etree
(1)将本地的html文档中的源码加载到etree对象中
etree.parse(filePah)
(2)将从互联网上获取的源码数据加载到该对象中
etree.HTML('page_text')
(3)xpath(xpath表达式)
—— / :表示从根节点开始定位,表示一个层级 —— // :表示可从任意位置开始定位,表示多个层级 ——属性定位: // tag[ @ attrName = "attrValue"] ex: tree.xpath('//div[@class="top_nav__item"]') ——索引定位:索引是从1开始 ex: tree.xpath('//div[@class="top_nav__item"]/ul/li[2]/a') ——取文本 ---- / text(): 获取标签中直系的文本内容 ---- // text(): 获取标签中所有的文本内容 ex: tree.xpath('//div[@class="songSheet_content newdish"]//li[3]/a[1]/text()')[0] ——取属性 ----- @ attrName ex: tree.xpath('//div[@class="logo"]//img/@src'