网络爬虫——XPath表达式

XPath表达式基础讲解

一、什么是XPath表达式

Xpath是XML路径语言,提供了在数据结构树种寻找节点的能力,所以Xpath被开发者们当做一种小型的查询语言。

匹配语句

/								逐层提取
text()							提取标签下面的文本
//标签名**						提取所有名为**的标签
//标签名[@属性=‘属性值’]			提取属性为**的标签
@属性名							代表取某个属性值

二、实例介绍

这是准备爬取的一个网页源代码

<html>
	<head>
	<title>程序员小哲</title>
	</head>
	<body>
		<p>chengxuyuan</p>
		<p>xiaozhe</p>
		<a href="www.baidu.com">登录</a>
		<a href="www.taobao.com">注册</a>
		<div class="xiaozhe" data-type="dr">
			<div id="guanzhu">欢迎关注公众号:骄傲的程序员</div>
		</div>
	</body>
</html>

实例1

XPatah表达式:/html/head/title/text()
匹配过程:先找html下的head下的title的标题
匹配后:输出我们的title标题,就是"程序员小哲"

实例2

XPatah表达式://p/text()
匹配过程:查找代码中所有的<p>标签内容
匹配后:输出<p>标签内容,就是["chengxuyuan","xiaozhe"]

实例3

XPatah表达式://a
匹配过程:查找代码中所有的<a>标签内容
匹配后:输出<a>标签内容,就是["登录","注册"]

实例4

XPatah表达式://div[@id="guanzhu"]/text()
匹配过程:查找代码中所有的<div>并且id=“guanzhu”的标签内容
匹配后:输出标签内容,就是"欢迎关注公众号:骄傲的程序员"

实例5

XPatah表达式://a/@href
匹配过程:查找代码中所有<a>标签的href属性
匹配后:输出标签属性内容,就是["www.baidu.com”,"www.taobao.com"]

XPath就到这里了,如果想了解正则表达式的同学,可以点击前面的正则表达式查看。
在这里插入图片描述

发布了8 篇原创文章 · 获赞 53 · 访问量 8110

猜你喜欢

转载自blog.csdn.net/xiaozhezhe0470/article/details/104180008
今日推荐