XPath系统学习与实例 您所在的位置:网站首页 网页中的div是啥意思 XPath系统学习与实例

XPath系统学习与实例

2024-07-13 05:29| 来源: 网络整理| 查看: 265

XPath对于八爪鱼数据采集十分重要。绝大多数的数据采集问题,都可以通过写一条正确的XPath解决。

本课将详细讲解XPath相关的问题。

 

 一、HTML 与 XPath

 

我们日常浏览的网页本质上都是一个个HTML文档。打开网页后,鼠标右键打开菜单,选择【查看网页源代码】,就能看到该网站的HTML文档。网页上的数据,在其HTML文档中都有一个对应位置。

 

如何在HTML文档中找到想要的数据?XPath是最常用的语言。火狐浏览器的XPath工具,可以帮助普通用户在HTML文档中快速定位到想要的数据,并自动生成定位数据的XPath路径表达式。(点击查看火狐XPath工具安装与使用说明)

XPath工具装好以后,浏览器右上角会出现一个灰色的昆虫图标 ,灰色为未启用状态。点击一下图标变成彩色,启动XPath工具,出现XPath工具面板。

点击XPath工具面板顶部左侧的  按钮,当其状态为  时,移动鼠标去网页上想要定位的数据位置并点击,XPath工具面板则自动生成定位的XPath路径表达式。

 

此时,要定位的网页数据、定位XPath、HTML文档3者的关系如下:

 

 

 二、HTML、 XPath 与 八爪鱼

 

我用八爪鱼采数据?为什么要学XPath?很多人都有这样的疑惑。

 

八爪鱼采集网页数据,本质上是在HTML文档中采集数据。配置采集任务时,也是使用XPath路径表达式在HTML文档中定位想要的数据。

 

以配置【循环翻页】步骤为例。在网页上选中【下一页】按钮(图标1)建立【循环翻页】(图标2)时,八爪鱼内置的XPath工具自动将【下一页】按钮在HTML文档中的位置找出来,并生成一条XPath路径表达式(图标3),记录【下一页】按钮在HTML文档中的位置。

 

 

八爪鱼能自动生成定位XPath,为什么我们还要学XPath?还是以【循环翻页】步骤为例。大多数情况下,自动生成的定位XPath没有问题,可正常翻页。少数情况下,自动生成的定位XPath有问题,出现 “直接从第2页跳到最后1页” “在某几页之间重复翻页” 等翻页问题。这时候,我们就需要学习XPath知识,去写一条符合需求的、正确的XPath。

 

XPath路径表达式是通用的。由于八爪鱼中不方便查看HTML文档,我们通常使用火狐XPath工具去找到正确的XPath,然后再将其复制到八爪鱼中去。

三、认识XPath的结构

 

先自己自动生成几个XPath,看一下XPath结构有什么规律。几个示例XPath:

.//*[@id='subject_list']/ul/li[1]

.//*[@id='subject_list']/ul/li[1]/div[2]/p

html/body//li[@class='next']/a[1]

 

我们发现,XPath都具有相似的结构,都由3部分组成。

 

 

是的,XPath通过HTML标签和属性查找数据:

标签:html body ul li div p a ......

连接标签的符号:/  //

属性和属性值:[@id='subject_list']  [@class='next'] 

 

弄清楚HTML标签、属性及其组合规律,是学会写一条正确XPath的关键。

四、HTML标签、属性与XPath

 

通过火狐浏览器的XPath工具,我们来看一个HTML实例文档。此时HTML文档中各部分十分清楚(参考下图):

浅蓝色的 html body li div p 等是标签(图标1);

深蓝色的 class id href src 等是属性(图标4);

引号中的红色部分是属性值(图标3);

黑色的文字是会直接显示在网页上的文字(图标2)。

 

 

下面介绍HTML文档中最常见的标签、属性。

 

1、标签

 

① 常见标签

                    定义超



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有