python爬虫笔记(2-1)Xpath解析

Xpath是在XML文档中搜索内容的一门语言,可以通过属性或节点路径来查找内容 HTML是XML的一个子集   1、安装: pip install lxml   2、导入: etree中包含了xpath功能,要导入etree from lxml import etree   3、语法: /:  表示层级关系,第一个/表示根节点 ./:  表示相对路径 //:  搜索后代,如"/div/content/name//nick/text()" # 取name中所有nick中的文本 *:  通配符:如"/div/content/*/nick/text()" # 取content中所有nick中的文本(nick的父节点可以是name也可以是其它的) text():提取文本   4、例子: from lxml import etree tree = etree.HTML("a.html")   # 拿到a标签的内容 result = tree.xpath("/html/body/ul/li/a/text()")   # 拿到第1个li中a标签的内容 result = tree.xpath("/html/body/ul/li[1]/a/text()")   # 拿到第a标签中属性href的值为dapao的内容,[@xxx=xxx]是属性的筛选 result = tree.xpath("/html/body/ul/li/a[@href = 'dapao']/text()")   # 拿到第a标签中属性href的值,@属性:拿到属性值 result = tree.xpath("/html/body/ul/li/a/@href")   # 相对路径查找 ./ li_list = tree.xpath("/html/body/ul/li") for li in li_list: result = li.xpath("./a/text()") # ./表示相对查找,在li中继续查找  

上一篇:201521123091 《Java程序设计》第7周学习总结


下一篇:python爬虫笔记(2-1)xpath抓猪八戒