Xpath基础

https://www.bilibili.com/video/av19689660/?p=6  视频的链接

Xpath  是一门从html中提取数据的语言:

Xpath的语法:   1.   '/'是选择节点(标签):' /html/head/meta'  :表示的是能够选中html 下的head下的所有的meta 标签

 2.  ‘//’:能够从任意节点开始选择         ‘//li’: 表示的是当前页面上的所有li 标签     '/html/head//link' :表示的是head 下的所有的link标签

head下的子节点和子孙节点的所有的link标签。

3.‘@符号的用法’:  选择具体某个元素  ‘//div[@class='xxx']/ul/li’   选择‘xxx’的div下的ul下的li   那个‘[]’表示的是选中一个区块,然后再在这个区块('xxx')下选择其他的标签。

‘a/@href’  :表示的是选择a的href的值

4.获取文本用‘/a/text()’   :获取a下的文本

‘/a//text()’: 获取a下的所有的文本

从一个节点选到另外一个节点用的是‘/’ ,从根节点选择的时候也是用‘/’ ,  从任意节点选择的话就用‘//’,这个也表示选择全部。

'./'  表示的是当前标签下的   比如table.xpath(".//div")  ,表示的是当前table下的div

 

Xpath 有很多种选择的,推荐使用谷歌的插件  Xpath  Helper  进行测试,然后拿数据,不用一步一步地定位

用//table  时要注意其他地方也会有相同的table,以此类推。

通过  竖线  | 可以实现表达式的拼接。

使用xpath helper 或者是chorme 中的copy  xpath 都是从element中提取的数据,但是爬虫获取的是url对应的响应,往往和element不一样。在确保爬虫获取url的响应和element一样的时候才可以用这些工具,或者要的数据一样。在后续的爬虫代码里面可能用不到它,要自己用肉眼去看去写。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

### 关于头歌平台中的 XPath 基础教程 #### 头歌平台概述 头歌(Tougo)是一个专注于编程教育和技术实践的学习平台,涵盖了多种技术领域的内容,其中包括 Web 开发、数据抓取等相关主题。对于学习 XPath基础教程,在头歌平台上可以找到许多针对初学者设计的教学资源。 #### XPath 基础知识 XPath 是一种用于在 XML 和 HTML 文档中导航和定位节点的语言[^2]。它的主要功能是从文档结构中选取特定的节点集合或单个节点。以下是 XPath 的几个核心概念: 1. **路径表达式**: 通过类似于文件系统的路径表示方法来指定节点位置。 ```xpath /html/body/div/h1 ``` 2. **谓语 (Predicates)**: 使用方括号 `[]` 来进一步过滤匹配的结果集。 ```xpath //div[@class='example'] ``` 3. **轴 (Axes)**: 表示当前节点与其他节点的关系方向。 - 子轴 (`child::`):选择子节点。 - 后代轴 (`descendant::`):选择后代节点。 - 属性轴 (`attribute::`):访问属性节点。 4. **逻辑运算符**: 可以组合多个条件来进行更复杂的筛选[^4]。 ```xpath //a[contains(@href, 'google') and text()='Search'] ``` #### 在头歌平台上的 XPath 实践案例 假设我们正在分析一段简单的 HTML 页面代码如下: ```html <html> <body> <div class="container"> <h1>Welcome to the HeadGo Platform</h1> <p>This is a paragraph.</p> <a href="https://headgo.com">Visit HeadGo Website</a> <ul> <li>Item 1</li> <li>Item 2</li> </ul> </div> </body> </html> ``` ##### 示例 1: 提取页面标题 如果要获取 `<h1>` 标签内的文本内容,则可编写以下 XPath 查询: ```xpath //h1/text() ``` 这会返回字符串 `"Welcome to the HeadGo Platform"`[^1]。 ##### 示例 2: 获取链接地址 为了提取超链接的目标 URL 地址,可以用下面的 XPath 表达式实现: ```xpath //a/@href ``` 此命令将返回 `"https://headgo.com"`[^2]。 ##### 示例 3: 结合逻辑判断筛选元素 当需要查找既包含某些关键字又满足其他特性的标签时,可以利用逻辑运算符完成任务。例如寻找所有带有 `'item'` 字样的列表项并排除第一个项目外的所有条目: ```xpath //ul/li[position() > 1 and contains(text(), 'item')] ``` 以上就是在头歌平台学习 XPath 所涉及的一些基本知识点以及实际应用场景的例子说明。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值