八爪鱼,百万用户信赖的网络爬虫工具

学会这个技巧,让你的数据采集效率提高20倍

作者:keven 发布时间:10/22/2018 3:36:20 PM 19167 人已阅读

摘要:想知道如何快速、精准定位目标数据?看这一篇文章就够了。

没错,让你提高20倍效率的技巧就是「XPath」。

 

为什么要写XPath这个话题?

 

小八通过近一段时间观察,发现无论是在八爪鱼QQ群、微信群,还是在论坛,用户所反馈的采集难题中,有80%以上,都是可以通过:

 

写「 一条正确的XPath」就能解决

 

比如

A:“我设计好的规则,怎么采集下来很多空白的数据?”

 

B:“我采集下来的数据,怎么有那么多不必要的字段?导致我后续清洗数据的工作量非常大。”

 

C:“为何我采集的数据是错的?”

 

等等……

 

这些问题都源自采集数据过程中,数据「定位」不够精准导致。

 

而XPath的最大作用就在于「精准定位」目标数据。

 

文本希望能让大家:

 

  1. 进一步认识什么是XPath?

  2. 学习XPath对于你的数据采集工作到底有多大的益处?

 

 

1、XPath初相识

 

  • 什么是XPath?

 

XPath(XML Path Language),其中XML是用来存储和传输数据的网页文档,Path意为路径。

 

XPath是在HTML文档中查找信息的语言。

 

XPath 用于在HTML文档中通过元素和属性进行导航。

 

  • 什么是HTML?

 

HTML(Hyper Text Markup Language)超文本标记语言。

 

 

HTML,用来描述网页的一种语言。我们日常浏览的网页背后都是一个个HTML文档。我们打开一个网页,点击鼠标右键,点击“查看网页源代码”就能看到该网站的HTML文档。

 

2、XPath在采集过程中如何工作

 

                               XPath工作原理

 

  • XPath的工作原理

 

网页上的每个元素都有独立的位置,犹如地球上每个地点都有各自的经纬度。要找到这个元素,需要制定一条通往它的路线。

 

XPath就是这样一条可以精准找到网页文本中某个元素的路径。

 

在采集过程中,有了XPath路径,八爪鱼便能迅速从HTML文档中,精准定位到用户需要的数据,并采集下来。

 

  • 采集过程几乎每一步都有XPath

在八爪鱼制定规则中,除了打开网页以外,其他每个步骤都会有一条XPath。

 

比如,定位需要提取的数据的XPath。

 

 

比如,定位循环采集列表的XPath。

 

 

比如,定位循环翻页按钮的XPath。

 

 

为了降低用户使用门槛,八爪鱼内置了一项自动生成XPath的功能。在用户设计采集流程中,会帮用户自动生成一条XPath用于定位用户选中的按钮或字段,以实现采集的目的。

 

3、XPath为什么重要?

 

  • 既然八爪鱼能自动生成XPath,为什么还要学?

 

八爪鱼XPath自动生成的XPath只能满足基础且结构较单一的的网页采集。

 

实际上,所有的网站的结构都是复杂且千变万化的,即使同一个网站的同个栏目底下,其子页面的结构也是不尽相同。

 

只靠自动生成的XPath,你会经常遇到文章开头提到的采集问题。

 

这时,如果你会写XPath,问题就能迎刃而解了。

 

  • 学习XPath对你有什么好处?

 

| XPath可灵活地应对各式各样的网站

 

学习XPath,就是学习一套通用的网页数据采集的方法原理。不管网站是什么类型或行业的,掌握了方法和原理,犹如掌握了数学公式,外部变量再多,解题的方法还是一样的。

 

 

| XPath可提高采集精准度,一击即中

 

没有对比就没有伤害,我们看下不精准XPath和精准XPath的采集结果对比。

 

 

                         不精准XPath采集结果(出现大量空白字段)

 

                              精准XPath采集结果(数据非常完整)

 

采集结果出现空白字段几乎都是因网页结构发生变化,XPath的路径不够精准,导致你的采集工作来回返工,工作量倍增。如果你懂XPath,就能写一条精准且通用的XPath匹配不同的网页结构。

 

 

| XPath可优化采集流程,提高采集速度

 

采集的速度除了受网速、设备硬件影响以外,也会受到XPath影响。精准的XPath能够快速定位数据,优化采集流程从而提高采集速度。

 

 

         站在采集界顶峰的视角

 

| XPath能让你体会到高阶采集技巧的乐趣

 

XPath是区分数据采集小白和高手的分水岭。许多用户都在XPath这座“山”前倒下。一旦你学会,你就成为了采集界的高手,即使面对再复杂的网站,采数据犹如探囊取物般容易

 

这份乐趣,可是只有学会XPath的你才能体会哦。

 

4、XPath如何学习

 

八爪鱼提供丰富、全面的XPath教程,让你从小白进阶XPath高手妥妥的。

 

扫码关注「八爪鱼采集研究院」,并回复“xpath”,获取XPath学习教程!

 

八爪鱼会一直陪在你身边,采集路上绝不孤单


欢迎咨询在线客服
加微信群,与更多用户一起交流