网页结构的简介和Xpath语法的入门教程

简介: 相信很多小伙伴已经听说过Xpath,之前小编也写过一篇关于Xpath的文章,感兴趣的小伙伴可以戳这篇文章如何利用Xpath抓取京东网商品信息以及Python网络爬虫四大选择器(正则表达式、BS4、Xpath、CSS)总结。

相信很多小伙伴已经听说过Xpath,之前小编也写过一篇关于Xpath的文章,感兴趣的小伙伴可以戳这篇文章如何利用Xpath抓取京东网商品信息以及Python网络爬虫四大选择器(正则表达式、BS4、Xpath、CSS)总结。今天小编继续给大家介绍一些Xpath知识点,希望对大家的学习有帮助。

1、Xpath让我们可以使用一种类似于Windows下的文件路径的方式,让我们可以定位到HTML或者XML结构中的具体元素。Xpath本身包含标一些准函数库,可以让我们的Xpath语法更加强大。


08a47b7f22514b2d9c812b8ea75cdb2f


2、在HTML结构中,有一定的层级关系,主要的关系包括:父节点、子节点、同胞节点(兄弟节点)、先辈节点、后代节点。


2f3c003690d443d4b5fe1142ddabb30d


一般的,像类似于这种结构,称之为一个节点。如上图,根据层次关系,我们可以知道节点是的父节点,相应的,节点是节点的子节点。同胞节点又叫兄弟节点,一般的处于同级层次的节点叫同胞节点,如上图中的节点和第一个

节点、177~181行的

标签都是属于同胞节点。先辈节点又叫祖先节点,一般的,一个节点的上层以上的节点均称为先辈节点,所以父节点也是属于先辈节点的一种。基于此,我们又可以称节点是的先辈节点。相对应的,一个节点的下层以下的节点均称为后代节点,所以子节点也是属于后代节点的一种。基于此,我们又可以称节点是节点的后代节点。

3、理解这些节点之间的关系之后,可以方便我们更好的理解Xpath语法,下表是部分常用的Xpath语法。


c067611408f14e4bb77f49c970890ec1


这里特别强调“/”和“//”的区别,“/”一般代表的某个元素的子节点,而不是全部的后代节点;而“//”一般代表的某个元素的后代节点,范围比“/”代表的要更加广泛一些。@符号后边时常跟着class,代表选取名为class属性的节点,比较常见。

4、下面针对具体的网页源码,让大家了解一下网页结构。


d78e58c66a38413d8bc5b3e8b662e3be


如上图中的红色框框中,class为属性,而等于号后边的“grid-5”即为属性值,有的时候节点内不只是一个属性,如上图中的196行中,就有两个属性。

5、为了更加方便的定位到div或者其他节点下的标签,我们需要继续进一步的进行定位锁定,下表是部分常用的Xpath语法。


0a3a5446c4e9473f8fff07149ff002fd


掌握了Xpath语法知识之后,我们就可以通过Xpath语法来进行编写Xpath表达式,以提取网页上的目标数据。


5151a7898e60410ebf63399f892c4e5c


千里之行,始于足下。如果想学好Xpath,更是需要勤加使用,下一篇文章将给大家介绍Xpath在Scrapy爬虫项目中的使用。

相关文章
|
4月前
|
存储 关系型数据库 MySQL
Python Django框架下将MySQL数据库的内容在网页上动态展示(修订版-2021-05-17)
Python Django框架下将MySQL数据库的内容在网页上动态展示(修订版-2021-05-17)
30506 0
|
9天前
|
前端开发
【HTML专栏1】语法规范、基础结构标签
【HTML专栏1】语法规范、基础结构标签
22 0
|
4月前
HTML的基本知识(七)——表单的基本知识及案例
HTML的基本知识(七)——表单的基本知识及案例
|
5月前
|
设计模式 JavaScript 前端开发
如何学习JavaScript语法和概念,附上详细的步骤和建议
如何学习JavaScript语法和概念,附上详细的步骤和建议
|
移动开发 前端开发 JavaScript
Web前端开发笔记——第二章 HTML语言 第九节 框架标签、脚本标签
Web前端开发笔记——第二章 HTML语言 第九节 框架标签、脚本标签
Web前端开发笔记——第二章 HTML语言 第九节 框架标签、脚本标签
|
移动开发 前端开发 JavaScript
Web前端开发笔记——第二章 HTML语言 第二节 基本标签
Web前端开发笔记——第二章 HTML语言 第二节 基本标签
Web前端开发笔记——第二章 HTML语言 第二节 基本标签
|
JavaScript
第二章 网页基本代码
本章将会学习网页的基本代码了解使用。
48 1
第二章 网页基本代码
|
存储 移动开发 前端开发
Qt开发技术:Qt富文本(三)Qt支持的HTML子集(查询手册)以及涉及的类
Qt开发技术:Qt富文本(三)Qt支持的HTML子集(查询手册)以及涉及的类
Qt开发技术:Qt富文本(三)Qt支持的HTML子集(查询手册)以及涉及的类
|
Web App开发 XML SQL
《图解HTML》第二节 浏览器的工作原理简介
由第一节 浏览器简介中我们知道,浏览器有很多种,由不同的商家生产,功能上也有所不同。那么浏览器是如何渲染HTML、CSS、JS成一个漂亮且有用的网页的呢?
158 0
《图解HTML》第二节 浏览器的工作原理简介
|
前端开发 容器 程序员
前端入门教程(三)HTML标签与文档结构
一 HTML标签 HTML作为一门标记语言,是通过各种各样的标签来标记网页内容的。我们学习HTML主要就是学习的HTML标签。 那什么是标签呢? #1、在HTML中规定标签使用英文的的尖括号即``包起来,如``、``、``都是标签, #2. HTML中标签通常情况下是成对出现的,分为开始标签和结束标签,结束标签比开始标签多了一个`/`,开始标签和结束标签之间的就是标签的内容。
1349 0