请输入
菜单

单个元素 / 固定元素列表 / 不固定元素列表是什么?

问题:

八爪鱼有5种循环方式,它们是什么?有什么不同?怎么使用?

 

回答:

一旦规则配置好之后,八爪鱼是全自动进行数据采集的。为了实现全自动,流程中有一个非常重要的步骤,就是【循环】。

八爪鱼有提供5种循环方式:网址列表 / 文本列表 / 单个元素 / 固定元素列表 / 不固定元素列表,每一种都尤其特定的使用场景。

一、网址列表循环

适用情况:需要依次打开多个同类网址进行数据采集。

实现方法:选择网址列表循环,将要打开的网址存储在网址列表循环中,启动采集后八爪鱼就会按照循环中的顺序,依次打开网址进行数据采集。具体请看 URL循环教程

二、文本列表循环

适用情况:需要在搜索框中输入多个关键词,然后再采集每个关键词的搜索结果数据。

实现方法:选择文本列表循环,将要查询的关键词存储在文本列表中,启动采集后八爪鱼就会按照循环中的顺序,依次输入每个关键词并采集其搜索结果。具体请看 文本循环教程

三、单个元素循环

适用情况:需要多次点击页面中的翻页按钮进行翻页。

实现方法:选择单个元素循环,将翻页按钮的定位XPath存储在当个元素循环中,启动采集后八爪鱼就会按照循环中的顺序,不断点击翻页按钮进行翻页。这里涉及了XPath知识,点击查看 XPath教程

操作示例:

① 选中【下一页】按钮 → 在操作提示框中选择【循环点击下一页】,建立翻页循环。

② 八爪鱼自动为我们选择了循环方式【单个元素循环】并生成翻页按钮的定位XPath。

 

四、固定元素列表

适用情况:网页中有很多同类的数据项要采集。例如,搜狗微信首页,有20个同类文章列表。

实现方式:选择固定元素列表循环,存储每个数据项的定位XPath(一条XPath对应着一个数据项)。这里涉及了XPath知识,点击查看 XPath教程

示例网址:http://weixin.sogou.com/

操作示例:

① 选中一个文章链接 →【选中全部】→【循环点击每个链接】 ,建立循环列表。

② 八爪鱼自动为我们选择了循环方式【固定元素列表】并生成每个数据项的定位XPath。这里有20条XPath,一一对应页面中的20条文章链接。

 

五、不固定元素列表

适用情况:网页中有很多同类的数据项要采集。例如,搜狗微信首页,有20个同类文章列表。

实现方式:选择不固定元素列表循环,通过一条通用的定位XPath,将页面上每个数据项都定位到。这里涉及了XPath知识,点击查看 XPath教程

示例网址:http://weixin.sogou.com/

① 选中一个文章列表 →【选中子元素】→【选中全部】→【采集数据】 ,建立循环列表。

② 八爪鱼自动为我们选择了循环方式【不固定元素列表】,并生成一条通用的定位XPath,定位到页面上所有文章列表。

 

请注意:【固定元素列表】和【不固定元素列表】之间可以相互转换。

还是以 http://weixin.sogou.com/ 为例,在第四部分中,生成的循环方式是【固定元素列表】,注意观察这些XPath:

//UL[@class='news-list']/LI[1]/DIV[2]/H3[1]/A[1]

//UL[@class='news-list']/LI[2]/DIV[2]/H3[1]/A[1]

......

//UL[@class='news-list']/LI[20]/DIV[2]/H3[1]/A[1]

20条XPath具有相同的特征:只有LI后面的数字不同。根据这个特征,可以写一条通用XPath://UL[@class='news-list']/LI/DIV[2]/H3[1]/A[1],通过这一条通用Xpath,可定位到页面中的全部10条文章链接。

将循环方式改为【不固定元素列表循环】,并将通用的Xpath://UL[@class='news-list']/LI/DIV[2]/H3[1]/A[1] ,填充进去。

可以看到,这条通用的XPath,将页面中的20条文章链接都定位到了。

同理反推,也可以将不固定元素列表改成固定元素列表。不再赘述。

 

请注意:网址列表 / 文本列表 / 固定元素列表 都可以进行云采集拆分,加快采集速度。

 

详情请看:云采集原理与规则加速教程

最近修改: 2024-03-07