下面分三步介绍xpath模块:
① 先介绍XML代码的概念
② 再介绍xpath是如何提取XML代码的
③ 最后介绍xpath是如何提取html代码的
一、XML代码介绍
1 野花遍地⾹ 1.23 周⼤强 周芷若
在XML代码中,所有的标签被称为节点,上述XML代码中,最外层的book节点被称为根节点,内部的id,name,price,author节点均为book根节点的子节点,而author节点内部的nick节点是author的子节点,book的孙节点,id,name,price,author相互为同胞兄弟节点。
二、使用xpath模块提取XML代码
""" 1. 导入etree模块 2. 用xml字符串初始化etree对象 3. 使用xpath来匹配要寻找的节点内容 """ from lxml import etree # 1. 导入etree模块 # 如果报错,考虑这种导入方式 # from lxml import html # etree = html.etree xml = """""" et = etree.XML(xml) # 2. 用xml字符串初始化etree对象 # 3. 使用xpath来匹配要寻找的节点内容 result = et.xpath("/book") # 第一个'/'表示获取book根节点 result = et.xpath("/book/name") # 中间的'/'表示获取book名为name的儿子节点 result = et.xpath("/book/name/text()")[0] # 末尾节点后加 /text() 表示获取name节点的文本 result = et.xpath("/book//nick") # // 表示获取book子孙后代所有的nick标签 result = et.xpath("/book标签 xpath的获取到的节点列表的下表索引从1开始计数 xpath可以直接在路径里通过[num]直接选取列表中的某一个标签 """ 1 野花遍地⾹ 1.23 臭⾖腐 周⼤强 周芷若 周杰伦 蔡依林 惹了 胖胖陈 胖胖不陈



