暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Python爬虫系列之三--xpath

每日一Python 2019-01-31
237

XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。xpath中节点之间的关系有父(parent)、子(children)、同胞(sibling)、先辈(ancestor)、后代(descendent)。xpath的具体教程可以在wc3school中学习。

在Python中xpath属于lxml库,因此需先安装lxml库。

实例:

from lxml import etree
txt ='''<html> <gzh>    <title lang="zh_CN">我的公众号</title>    <year>2019年</year>    <category> python</category> </gzh> <body> <h1> 欢迎关注每日一Python <a href="www.lizi.com"></a><h1> <p> 共同进步</p> <p>谢谢</p> <!--this is comment --> </body> </html> '''
html = etree.HTML(txt) r = html.xpath("//h1/a/@href")  #获取属性用@xxprint(r)

r2 = html.xpath("//title/@lang") print(r2)

r3 = html.xpath("//comment()") #获取注释用comment()
print(r3)

r4 = html.xpath("//gzh/year/text()") #获取文本内容用text()
print(r4)

r5=html.xpath("//p")
print(r5)
#可以看到HTML中有两个P,若是想获取第一个和最后一个p呢
#获取第一个p

print(r5[0].text)
或者
r6 = html.xpath("//p[1]/text()")

#获取最后一个p,利用last()
r7 = html.xpath("//p[last()]/text()")
print(r7)


文章转载自每日一Python,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论