Xpath工具使用教程

更新时间:2024-01-04 00:29:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

Xpath工具使用教程

本教程告诉大家如何使用八爪鱼内置的Xpath工具。

一、常见使用场景

在日常使用八爪鱼采集数据时,偶尔会出现一些特殊情况,比如说某个采集步骤因为网页或八爪鱼识别的问题,定位发生了偏差,导致自动生成的Xpath有一点问题,采集出错。这个时候需要我们手写Xpath来定位想要设置的步骤,而八爪鱼有个内置的Xpath工具,可以帮助大家写一些简单的Xpath位置(除了打开网页步骤没有Xpath工具以外,其他步骤都有)。

二、Xpath工具位置

Xpath工具可以在两个地方打开。

一个入口是:登陆进去后的软件首页-工具箱里可以直接打开。

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

另一个入口是:流程中步骤的“自定义”按钮,点击进入

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

点击“自定义”按钮后,点击“不懂xpath,试试xpath工具”

三、Xpath工具界面介绍

打开xpath工具,该工具界面主要分为五个部分:

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

左上是填写网址 左中是浏览器

左下是页面HTML源码(由于xpath工具的网页源码层次不分明,查看源码的话建议使用火狐浏览器的插件firebug和firepath,这是xpath的入门教程,新用户有兴趣的也可以去学习一下:

http://www.bazhuayu.com/tutorial?type=1&category=XPath&version=v7.00) 右上是定位参数(工具将根据你填写的参数生成Xpath) 右下是按要求点击生成后匹配到的xpath

1、我们来看一下定位参数

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

1)元素标签名称:火狐里所有的蓝色字体就是元素标签名称,如下:span, a, hr, br等,具体填什么参数名需到火狐里看你要定位的那行代码最前面的标签是什么,这里就写什么,火狐里看得比较清楚:

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

2)元素位置:默认填了1,这个位置的意思就是第几个,一般没什么用,因为火狐里自动生成的Xpath很多都是用位置定位的,要用这个不如用火狐生成来得快;

3)元素ID属性值,元素name属性值,元素class属性值:属性值就是一行源码内用<>尖括号括起来的参数,会有很多,这里的三个属性值是大部分网页都会有的属性值,这里只有三种,但改也是可以的,例如:

该a标签下有class,href和target三个属性,如果你想以属性class定位,就直接把class=后面双引号内部的参数复制出来粘到格子里按生成就会自动生成以class属性值定位的Xpath代码

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

如果你想定位的属性不是这三个,比如说target,也可以直接把target=后面双引号里的属性值复制一下,随便放入到一个属性里面

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

这时候是匹配不到的,需要将生成的xpath里的属性改成target即可:

4)元素文本:是火狐里的所有黑色字体,一般是会在网页显示出来我们可以直接看到的字体,如果要填这一格,填的必须是全部的文本,少一个空格标点符号,全角半角不一致都会

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

导致定位不到,不过要是是纯文字的那就没问题;

5)元素文本包含字符串:包含,顾名思义就是只要文本里有就会定位出来,不用管什么标点符号空格;

6)元素文本开始字符串:就是前几个字,如果源码里是以什么空格标点符号之类的开头的,如果这里没写,就定位不到

2、看完了右上角的参数设置,我们来看一下右下角的元素之间的层级关系

父元素,子元素,这两个是相对应的,

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

前面元素,后面元素也是相对应的。

这里我们去火狐里截取一小段源码,来简单说明一下:

红框里,a元素的父元素是div,div的子元素是a。a,span,div三个都是同胞元素,span的前面元素是a,a的后面元素是span,以此类推。

这几个参数的主要功能是当你想要的数据没有可定位的参数,或者有参数但是不可用的时候,可以先定位到该元素的附近,再看看是父子关系还是前后关系,从而定位到最终想要的数据位置。

四、xpath工具操作示例

这边xpath工具的基本功能点就讲完了,下面我们来看一个实例。

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

1、操作示例

需求:无下一页,只有数字的页面怎么实现翻页

示例url:http://stock.cngold.org/news/index.html

2、操作步骤

这类网站都是没有下一页,翻页的地方只有数字,但是当前页在源码里查看是有标识的,或者说当前页的元素跟下一页的元素都是不一样的,所以每次定位到当前页的下一页即可实现翻页的步骤。

首先,我们去火狐浏览器里打开firebug,从源码可以看到,当前页的标签是span,跟下一页的标签a不一样,而且它的属性是class,class属性的属性值是thisclass,下面的a

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

标签都没有class属性,只有href。

从而,我们就可以用thisclass为标识先定位到当前页,

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

再定位到当前元素span的下一个元素,点一下后面元素

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

因为需要定位到后面元素的第一个a标签,所以在工具里按图设置一下,就大功告成了,

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

把该xpath复制一下放入到火狐里面去检查一下,任何页面都是可以匹配到下一页的

当前页是第1页,通过此条xpath,定位到第2页:

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

当前页是第4页,通过此条xpath,定位到第5页:

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

就这样,循环翻页的xpath就大功告成了,到八爪鱼里,手动创建一个循环,然后选择单个元素,把该xpath放入,再拖一个点击元素进去,勾选循环,这样,翻页循环就创建好了,后续的步骤用户可以自行设置,不懂的话也可以先看一下我们的自定义模式新手教程,快速上手:

http://www.bazhuayu.com/tutorial?type=1&category=è?a????1??¨??????¥é?¨??????&version=v7.0。

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

五、重要补充

Xpath工具除了解决网页数字翻页这类问题外,还可以解决一些其他比较常见的问题:最后一页死循环 (这类问题一般都是网页翻到最后一页后,八爪鱼还能识别到下一页的元素位置,导致死循环,这时也得先去火狐里查看一下源码里下一页位置在正常页与最后一页标签的元素跟属性值的不同,从而来设置xpath),简单的字段定位等等。

用户可以先使用xpath工具来设置一些简单的xpath,慢慢熟悉上手后,可以去火狐里手动创建更为复杂的xpath,来帮助自己使用八爪鱼采集到任何复杂页面的数据,做个采集达人!

相关采集教程:

xpath抓取网页文字 http://www.bazhuayu.com/tutorial/gnd/xpath

提取网页文字数据 http://www.bazhuayu.com/tutorial/gnd/tiqushuju 网页数据导出 http://www.bazhuayu.com/tutorial/gnd/dataexport 其他采集功能点

http://www.bazhuayu.com/tutorial/gnd/qitagnd

八爪鱼抓取AJAX滚动页面爬虫教程

http://www.bazhuayu.com/tutorial/ajgd_7 八爪鱼7.0教程——查看数据和导出数据http://www.bazhuayu.com/tutorial/cksj_7

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

八爪鱼——90万用户选择的网页数据采集器。

1、操作简单,任何人都可以用:无需技术背景,会上网就能采集。完全可视化流程,点击鼠标完成操作,2分钟即可快速入门。

2、功能强大,任何网站都可以采:对于点击、登陆、翻页、识别验证码、瀑布流、Ajax脚本异步加载数据的网页,均可经过简单设置进行采集。

3、云采集,关机也可以。配置好采集任务后可关机,任务可在云端执行。庞大云采集集群24*7不间断运行,不用担心IP被封,网络中断。

4、功能免费+增值服务,可按需选择。免费版具备所有功能,能够满足用户的基本采集需求。同时设置了一些增值服务(如私有云),满足高端付费企业用户的需要。

本文来源:https://www.bwwdw.com/article/cawx.html

Top