八爪鱼采集器提取数据自定义定位元素方式

定位元素:八爪鱼通过Xpath来实现元素的定位。


本文来自小莫扎特博客www.plusminustsuchi.com 提供


适用情况:八爪鱼自动定位方式不能满足需求的情况。

本文来自小莫扎特博客www.plusminustsuchi.com 提供

下面演示如何通过自定义定位元素方式来修改元素匹配的Xpath,借此修改提取元素步骤采集到的数据。

本文来自小莫扎特博客www.plusminustsuchi.com 提供
示例网址:
步骤一:点击自定义采集下的立即使用→输入网址并保存

本文来自小莫扎特博客www.plusminustsuchi.com 提供





本文来自小莫扎特博客www.plusminustsuchi.com 提供
步骤二:点击采集位置→循环采集元素→补充并修改提取元素步骤

本文来自小莫扎特博客www.plusminustsuchi.com 提供

说明:循环采集元素会采集所有信息,我们在补充并修改提取元素步骤进行了删除第一个字段操作,同时添加了我们需要的正确字段。
本文来自小莫扎特博客www.plusminustsuchi.com 提供
步骤三:修改自定义定位元素方式
选中要修改的字段→点击高级选项中自定义数据字段(如下图)→点击自定义定位元素方式
本文来自小莫扎特博客www.plusminustsuchi.com 提供


进入自定义定位元素方式后,我们在下图红框处修改Xpath

本文来自小莫扎特博客www.plusminustsuchi.com 提供


其中元素匹配的Xpath是指可以通过这个Xpath路径在网页中直接找到所需数据的路径;相对Xpath指相对于循环Xpath的路径,将循环中的Xpath接上相对Xpath路径就可以生成一条直接匹配元素的路径。下面进行演示。
演示中使用了火狐浏览器的Firebug插件,详细使用情况请到Xpath使用教程中查看。
本文来自小莫扎特博客www.plusminustsuchi.com 提供



如图,示例中将循环中的Xpath和字段对应的相对Xpath接在一起,在浏览器中可以查找到所有的标题。 本文来自小莫扎特博客www.plusminustsuchi.com 提供
假如我们想通过Xpath的修改采集其他的字段怎么采集呢?
下面演示如何通过自定义定位元素方式修改标题字段的Xpath使之采集的内容变成类型中的内容 本文来自小莫扎特博客www.plusminustsuchi.com 提供
步骤1.找出类型所在的Xpath是怎样的

本文来自小莫扎特博客www.plusminustsuchi.com 提供


说明:
我们知道循环中的内容为每个需要采集的内容所在的位置,我们将循环中的Xpath复制进入浏览器也看到匹配到了所有电影的框。 本文来自小莫扎特博客www.plusminustsuchi.com 提供
随后我们查看类型所在的Xpath,可以看到如下图:

查看到的Xpath为html/body/div/div/ul/li[1]/span[2]/span/span 本文来自小莫扎特博客www.plusminustsuchi.com 提供

步骤2.修改Xpath使之定位到所有的电影类型。
因为我们知道LI元素定位三个电影整体的框,所以我们将循环中的//LI[@class='movie']替换到类型所在的Xpath中,形成Xpath为:

本文来自小莫扎特博客www.plusminustsuchi.com 提供


//LI[@class='movie']/span[2]/span/span
元素前//表示不论LI在何处都匹配,所以可以省掉前面所有的元素。

本文来自小莫扎特博客www.plusminustsuchi.com 提供


此时我们的得到的Xpath就可以匹配所有的电影类型

可以看到该Xpath可以定位到红色箭头位置所示的3个元素,红框中也标出了类型,我们一共在该页只有三个电影,所以我们就得到了所有电影类型的Xpath。

本文来自小莫扎特博客www.plusminustsuchi.com 提供



步骤3.将得到的Xpath放入自定义定位元素方式中
本文来自小莫扎特博客www.plusminustsuchi.com 提供

说明:
复制元素匹配Xpath后,因为我们知道循环Xpath为LI元素,所以我们复制LI元素后的部分进入相对Xpath中。 本文来自小莫扎特博客www.plusminustsuchi.com 提供
通过手动运行三个电影验证标题是否改为类型,确定改变,会跟着变化,修改完成。

步骤四.保存并启动→数据导出

内容版权声明:以上内容均为转载,如有侵犯原作者请联系删除!