这篇教程Python数据提取-lxml模块写得很实用,希望能帮到您。 知识点: - 了解lxml模块和
xpath 语法的关系; - 了解lxml模块的使用场景;
- 了解lxml模块的安装;
- 了解 谷歌浏览器
xpath helper 插件的安装和使用; - 掌握xpath语法-基础节点选择语法;
- 掌握 xpath语法 -节点修饰语法;
- 掌握xpath语法 - 其他常用语法;
- 掌握 lmxl模块中使用xpath语法定位元素提取数学值或文本内容;
- 掌握lxml模块etree.tostring函数的使用;
1、了解lxml模块和xpath语法对html 或xml形式的文本提取特定的内容,就需要我们掌握lxml模块的使用和xpath语法。 lxml模块可以利用xPath规则语法,来快速的定位HEML / XML 文档中特定元素以及获取节点信息(文本内容、属性值);
XPath (XML Path Language)是一门HTML/XML 文档中查找信息的语言,可用来在HTML|XML文档中对元素和属性进行遍历。 提取xml、html的数据需要lxml模块和xpath语法配合使用; 2、谷歌浏览器xpath helper插件的安装和使用- 在谷歌浏览器中对当前页面测试xpath语法规则。
- 谷歌浏览器xpath helper插件的安装和使用
我们以windows 为例进行xpath helper的安装。 xpath helper 插件的安装:
- 1)、下载Chrome插件 XPath Helper
- 可以在Chrome应用商城进行下载,如果无法下载,也可以从下面的链接进行下载
- 2)、把文件的后缀名crx改为rar,然后解压到同名文件夹中;
- 3)、把解压后的文件夹拖入到已经开启开发者模式的chrome浏览器扩展程序界面;
3、xpath 的节点关系学习xpath语法需要先了解xpath中的节点关系。 3.1 xpath中的节点什么每个html 、xml的标签我们都称之为节点,其中最顶层的节点称为根节点。我们以xml 为例、html也是一样的。、 
3.2 xpath中节点的关系
author 是 title 的第一个兄弟节点。
4、xpath语法 - 选取节点以及提取属性或文本内容的语法- 1)、XPath 使用路径表达式来选取XML文档中的节点或者节点集。
- 2)、这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似;
- 3)、使用chrome插件选择标签时候,选中的标签会添加属性class=“xh-highlight”;
4.1 xpath定位节点以及提取属性或文本内容的语法
5、xpath 语法 - 选取特定节点的语法可以根据标签的属性值,下标等来获取特定的节点。 5.1 选取特定节点的语法
5.2 关于xpath的下标在xpath中,第一个元素的位置是1; 最后一个元素的位置是last(); 倒数第二个是last() - 1; 6、xpath语法 - 选取未知节点的语法可以同通配符来选取未知的html 、xml 的元素。 6.1、选取未知节点的语法
7.lxml模块的安装与使用示例lxml模块是一个第三方模块,安装之后使用。 7.1 lxml模块的安装对发送请求获取的xml或html形式的响应内容进行提取。 pip install lxml
7.2 爬虫对html提取的内容提取标签中的文本内容; 提取标签中的属性的值; 比如,提取a标签中href属性的值,获取url,进而继续发起请求。 7.3 lxml模块的使用1)、导入lxml的etree库 from lxml import etree
2)、利用etree.HTML ,将html字符串(bytes类型或str类型)转化为Element 对象,Element 对象具有xpath的方法,返回结果的类别。 html = etree.HTML(text)ret_list = html.xpath("xpath语法规则字符串") 3)、xpath方法返回列表的三种情况 返回空列表:根据xpath语法规则字符串,没有定位到任何元素; 返回由字符串构成的列表:xpath字符串规则匹配的一定是文本内容或某属性的值; 返回由Element 对象构成的列表:xpath规则字符串匹配的是标签,列表中的Element 对象可以继续进行xpath; |