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

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

一、Xpath让咱们可使用一种相似于Windows下的文件路径的方式,让咱们能够定位到HTML或者XML结构中的具体元素。Xpath自己包含标一些准函数库,可让咱们的Xpath语法更增强大。网络

 

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

 

    通常的,像相似于这种结构,称之为一个节点。如上图,根据层次关系,咱们能够知道节点是的父节点,相应的,节点是节点的子节点。同胞节点又叫兄弟节点,通常的处于同级层次的节点叫同胞节点,如上图中的节点和第一个学习

节点、177~181行的
  • 标签都是属于同胞节点。先辈节点又叫祖先节点,通常的,一个节点的上层以上的节点均称为先辈节点,因此父节点也是属于先辈节点的一种。基于此,咱们又能够称节点是的先辈节点。相对应的,一个节点的下层如下的节点均称为后代节点,因此子节点也是属于后代节点的一种。基于此,咱们又能够称节点是节点的后代节点。

 

三、理解这些节点之间的关系以后,能够方便咱们更好的理解Xpath语法,下表是部分经常使用的Xpath语法。3d

 

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

四、下面针对具体的网页源码,让你们了解一下网页结构。get

 

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

五、为了更加方便的定位到div或者其余节点下的标签,咱们须要继续进一步的进行定位锁定,下表是部分经常使用的Xpath语法。io

 

    掌握了Xpath语法知识以后,咱们就能够经过Xpath语法来进行编写Xpath表达式,以提取网页上的目标数据。form

 

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

相关文章
相关标签/搜索