1、打开网页

 

该步骤根据设定的网址打开网页,一般为网页采集流程的第一个步骤,用来打开指定的网站或者网页。如果有多个类似的网址需要分别打开执行同样的采集流程,则应该放置在循环的内部,勾选上使用循环,并作为第一个子步骤。

 

1)页面URL

页面URL,一般可以从网页浏览器地址栏中复制得到,如:http://www.bazhuayu.com/

2)操作名

自定义操作名

3)超时

在网页加载完成前等待的最大时间。如果网页打开缓慢,或者长时间无法打开,则流程最多等待超时指定的时间,之后无论网页是否加载完成,都直接执行下一步骤。应尽量避免设置过长的超时时间,因为这会影响采集速度

4)阻止弹出

用以屏蔽网页弹窗广告,如果打开的网页偶尔会变成另外一个广告页面,则可以使用本选项阻止广告页面弹出

5)使用循环

配合循环步骤来使用,用以重复打开多个类似的网页,然后执行同样的一套流程,循环打开网页时,应为作为循环步骤的第一个子步骤。 如果勾选此项,则无需手动设置网页地址,网页地址会自动显示循环设定的网址列表的当前循环项

6)滚动页面

个别网页在打开网页后并没有显示所有数据,导致采集异常停止或数据不全,故需要滚动鼠标滚轮或者拖动页面滚动条到底部,才会加载没有显示的数据。使用此选项在页面加载完成后向下滚动,滚动方式有向下滚动一屏和直接滚动到底部两种。一般而言滚动一屏,页面加载效果会优于直接滚动到底部,但更耗费时间。滚动的时间间隔和次数,应根据所需数据展现需要多少次来合理设置。

7)清理缓存

在八爪鱼中,如果需要切换账号,可使用清理浏览器缓存,重新设置其他账号

8)自定义cookie

cookie指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。在八爪鱼中,可以通过做一次预登录获取页面cookie,通过勾选打开网页时使用指定cookie获取登陆后的cookie,从而记住登录状态。获取的当前页面cookie,可以通过点击 查看cookie。此外也可以自定义cookie,请参考 http://www.bazhuayu.com/tutorial/yzmducookie

9)重试

如果网页没有按照成功打开预期页面,例如显示服务器错误(500),访问频率太快等,或者跳转到其他正常打开不应该出现的页面,可以使用本选项进行重试,但必须配合以下几个重试参数执行,请注意以下几种判断的情况满足任意一种出现都会进行重试

① 当前网页的网址/文本/XPath,包含/不包含

如果当前页面网址/文本/XPath总是出现/不出现某个特殊内容,则使用此选项可以判断有没有打开预期页面,需要重试

② 最大重试次数

为了避免无限制重复尝试,请使用本选项限制最大重复尝试的次数,如果重试到达最大允许的次数,任然没有成功,则流程将停止重试,继续执行下一步骤

③ 时间间隔

在两次重试之间等待的时间,一般情况下,当打开网页出错时,立即重试很有可能是同样的错误,适当等待则可能成功打开预期网页,但应该尽量避免设置过长的等待时间,因为这会影响采集速度

在重试的过程中还可以配合切换代理IP和浏览器版本,从而避免网站的防采集封锁。在出现某某条件时进行重试并切换IP,将比设置固定时间切换IP消耗更少的代理IP。详情操作请参考:http://www.bazhuayu.com/tutorial/bzychongshi

 

2、点击元素

该步骤对网页上指定的元素执行鼠标左键单击动作,比如点击按钮,点击超链接等

1)操作名

自定义操作名

2)执行前等待

对此步骤设置执行前等待,即等待设置的时间后,再进行此步骤

3)或者出现元素

或者出现元素,配合执行前等待使用,在其中输入元素的XPath可以在出现该元素的时候结束执行前的等待。例如我们设置执行前等待10秒,或者出现元素设置为某元素。假如第13秒元素加载出来,则八爪鱼会在第10秒尝试进行循环提取操作,假如第8秒元素加载出来,则八爪鱼会在第8秒元素加载出来后立刻结束循环的执行前等待,进行循环提取操作。则八爪鱼会在第8秒元素加载出来后立刻结束循环的执行前等待,进行循环提取操作。4)使用循环

配合循环步骤来使用,用以重复点击循环中设置的多个元素,适用于循环单个固定元素,循环固定元素列表,循环不固定元素列表。 如果勾选此项,则无需设置点击的元素,要点击的元素会自动显示循环设定的当前循环项,使用该选项时,应当作为循环步骤的子步骤,但不必是第一个子步骤

5)开新标签

如果点击元素时希望在新的标签页中打开,而不是在当前页打开,请勾选此选项。 一般情况下,在需要循环打开一个页面上的多个超链接时,需要勾选此选项以便保留列表页面,以便点击列表页上的下一个超链接;但是如果是循环点击下一页时,则不要勾选此选项,以在当前页面打开下一页

6)ajax加载

ajax,即异步加载,是一种无需重新加载网页就能刷新局部数据的技术,因此流程不能检测到网页加载完成,就不能决定何时该执行下一个步骤。此会按一个默认时间120秒进行等待后再继续往下执行,故导致采集过慢。使用此选项后,流程会按设定的超时时间进行等待,从而继续执行后续流程步骤。本选项需要配合异步加载超时使用。

ajax超时:等待异步加载完成的时间,在点击元素之后,流程会开始计时,超时时间到达后,执行下一个流程步骤。时间的长短应根据网页中自己所需数据加载的快慢来设置。简易多1-2秒。本选项需要配合异步加载使用,通常使用本选项时,不能勾选“新标签页中打开”。

7)页面加速

有的网页不是ajax网页,勾选此项后,系统会根据网页加载情况,判断要采集的数据是否加载出来了。如果要采集的数据已经加载出来了但网页还处于加载状态,则强制停止加载, 进入下一步骤。因是系统自动判断的,可能会有问题,一般不建议使用此项

8)定位锚点

锚点是网页制作中超级链接的一种,又叫命名锚记。命名锚记像一个迅速定位器一样是一种页面内的超级链接,运用相当普遍。在八爪鱼中,对于运用了定位锚点的网页,可通过输入锚点id,迅速定位到页面中的锚点

9)滚动页面(与打开网页中的滚动作用一样)

个别网页在加载完成后并没有显示所有数据,需要滚动鼠标滚轮或者拖动页面滚动条到底部,才会加载没有显示的数据,使用此选项在页面加载完成后滚动到底部。

10)重试(与打开网页中的重试作用一样)

如果网页没有按照成功打开预期页面,例如显示服务器错误(500),访问频率太快等,或者跳转到其他正常执行不应该出现的页面,可以使用本选项进行重试,但必须配合以下几个重试参数执行,请注意以下几种判断的情况任意一种出现都会导致重试

① 当前网页的网址/文本/XPath,包含/不包含

如果当前页面网址/文本/XPath总是出现/不出现某个特殊内容,则使用此选项可以判断没有打开预期页面,需要重试

② 最大重试次数

为了避免无限制重复尝试,请示用本选项限制最大重复尝试的次数,如果重试到达最大允许的次数,任然没有成功,则流程将停止重试,继续执行下一步骤

③ 时间间隔

在两次重试之间等待的时间,一般情况下,当打开网页出错时,立即重试很有可能是同样的错误,适当等待则可能成功打开预期网页,但应该尽量避免设置过长的等待时间,因为这会影响采集速度

 

3、输入文字

本步骤在输入框中输入指定的文本,例如输入搜索关键词,输入账号等。 将设定的文本输入到网页的某个输入框中,如使用搜索引擎时输入关键词

1)输入框

一般而言显示“Type:INPUT”字样时,则输入框生效。如果显示空白,则输入框无效。但也有的网页输入框并不是“INPUT”,故主要还是要看网页中是否顺利输入文字。部分网页在输入完文字后,还需要点击“确定”后才能触发,往网页中填写文字。

2)要输入的文本

自定义要输入的关键词

3)执行前等待

对此步骤设置执行前等待,即等待设置的时间后,再进行此步骤

4)出现元素

或者出现元素,配合执行前等待使用,在其中输入元素的XPath可以在出现该元素的时候结束执行前的等待。例如我们设置执行前等待10秒,或者出现元素设置为某元素。假如第13秒元素加载出来,则八爪鱼会在第10秒尝试进行循环提取操作,假如第8秒元素加载出来,则八爪鱼会在第8秒元素加载出来后立刻结束循环的执行前等待,进行循环提取操作。

5)使用循环

配合循环骤来使用,用以循环输入多个关键词,然后执行同样的一套流程。循环输入关键词,应为作为循环步骤的第一个子步骤。 如果勾选此项,则无需手动填写要输入的文本,文本会自动显示循环设定的文本列表的当前循环项

6)自定义

自定义,即自定义定位文本输入框。一般情况下,八爪鱼会自动生成定位输入框的XPath,自动生成的定位XPath是正确可用的。如果八爪鱼自动生成的定位输入框的XPath不能满足需求,则需我们自己自定义输入能正确定位到输入框的XPath

 

4、提取数据

本步骤根据提取数据模板的配置,从网页中提取数据,同时还可配置为提取网址,网页标题,或者生成一些数据如当前时间等

 

1) 抓取模板

本步骤根据提取数据模板的配置,从网页中提取数据

① 字段名称

给抓取的数据字段取个别名,如新闻标题、新闻正文

② 提取到的数据

从网页上提取到的数据,将会在本列显示所抓取到的示例

③ 找不到时如何处理

该字段留空,整行留空,或使用某个固定值。

2)操作名
可自定义操作的名称

3)执行前等待

对此步骤设置执行前等待,即等待设置的时间后,再进行此步骤

4)或者出现元素

或者出现元素,配合执行前等待使用,在其中输入元素的XPath可以在出现该元素的时候结束执行前的等待。例如我们设置执行前等待10秒,或者出现元素设置为某元素。假如第13秒元素加载出来,则八爪鱼会在第10秒尝试进行循环提取操作,假如第8秒元素加载出来,则八爪鱼会在第8秒元素加载出来后立刻结束循环的执行前等待,进行循环提取操作。

5)使用循环

配合循环步骤来使用,用以重复的从循环中设置的多个元素中提取数据,适用于循环单个固定元素,循环固定元素列表,循环不固定元素列表。 如果勾选此项,会从循环所设置的元素中根据抓取规则提取出示例数据,使用该选项时,提取数据步骤应当作为循环步骤的子步骤,但不必是第一个步骤

6)添加特殊字段

可添加当前时间、固定字段、空字段、当前网页信息(页面网址、页面标题......)等特殊字段

7)自定义处理字段 

:自定义字段按钮,选中字段后点击此按钮,可自定义抓取方式自定义定位元素方式格式化数据自定义数据合并方式

:删除按钮,选中字段后点击此按钮,可删除字段

:上移和下移按钮,选中字段后点击此按钮,可上移或下移字段

:导入和导出抓取配置按钮,可点击导出抓取配置按钮将配置好的模板保存到想要的位置,下次有需要时,再点击导入抓取配置按钮直接,直接导入并使用抓取配置

 

5、循环

本步骤用来重复执行一系列步骤,根据配置不同,支持多种模式

1)操作名

自定义操作名

2)执行前等待

对此步骤设置执行前等待,即等待设置的时间后,再进行此步骤

3)或者出现元素

或者出现元素,配合执行前等待使用,在其中输入元素的XPath可以在出现该元素的时候结束执行前的等待。例如我们设置执行前等待10秒,或者出现元素设置为某元素。假如第13秒元素加载出来,则八爪鱼会在第10秒尝试进行循环提取操作,假如第8秒元素加载出来,则八爪鱼会在第8秒元素加载出来后立刻结束循环的执行前等待,进行循环提取操作。

4)元素在iframe 、Iframe XPath

如果循环中设置的元素在Iframe里,请勾选此项,并在后面的Iframe XPath中填写Iframe XPath;Iframe XPath 元素所在Iframe的路径,只有当勾选“元素在Iframe里”时这个设置才会生效

5)循环方式

① 循环单个元素,例如循环点击每一页中的下一页按钮,当翻到最后一页时,会自动结束当前循环

② 循环固定元素,例如循环处理一个页面中指定的多个元素。逐个的对列表中的元素进行特定操作,如循环点击、从中提取数据、将鼠标悬停在元素上,当所有元素循环完毕时,会自动结束当前循环

③ 循环不固定元素列表:当需要循环处理多个页面,但是每个页面上要处理的元素数量不固定时使用。当元素列表不是固定的,可指定一个动态路径(多个元素都符合此路径,即可以根据此路径定位到多个元素),系统会根据指定路径先找到一个元素列表,然后执行跟“固定的元素列表”一样的操作

④ 循环URL列表:主要用来循环打开一批指定网址的网页,然后执行同样的处理步骤。配合打开网页操作使用,指定一个URL列表,确保循环里面的打开网页操作的使用当前循环项标识已勾选,以逐个的打开URL列表中的连接

⑤ 循环文本列表:主要用来循环输入一批指定文本,然后执行同样的处理步骤

6)满足以下条件时退出循环

网页一般是有很多页的。有时候我们不需要采集全部页的数据,只需采集指定页的数据。可勾选“循环执行次数等于”选项,并输入想要的循环次数。输入之后,当循环执行到这个次数后,即采集前几页后退出循环不再执行

 

6、切换下拉选项

本步骤用于切换下拉列表,多配合循环使用,以达到循环切换下拉框的效果。

1)操作名

自定义输入操作名

2)执行前等待

对此步骤设置执行前等待,即等待设置的时间后,再进行此步骤

3)或者出现元素

或者出现元素,配合执行前等待使用,在其中输入元素的XPath可以在出现该元素的时候结束执行前的等待。例如我们设置执行前等待10秒,或者出现元素设置为某元素。假如第13秒元素加载出来,则八爪鱼会在第10秒尝试进行循环提取操作,假如第8秒元素加载出来,则八爪鱼会在第8秒元素加载出来后立刻结束循环的执行前等待,进行循环提取操作。

4)使用循环

配合循环步骤来使用,用以重复操作循环中设置的元素,适用于循环单个固定元素,循环固定元素列表,循环不固定元素列表。 如果勾选此项,会依次点击循环列表中设置的元素,达到循环切换下拉选项的效果。使用该选项时,切换下拉选项步骤应当作为循环步骤的子步骤,但不必是第一个子步骤

5)Ajax加载

一般而言循环切换下拉框都ajax加载的,故会默认勾选上。

ajax,即异步加载,是一种无需重新加载网页就能刷新局部数据的技术,因此流程不能检测到网页加载完成,就不能决定何时该执行下一个步骤。此会按一个默认时间120秒进行等待后再继续往下执行,故导致采集过慢。使用此选项后,流程会按设定的超时时间进行等待,从而继续执行后续流程步骤。本选项需要配合异步加载超时使用。

ajax超时:等待异步加载完成的时间,在切换下拉框中的元素后,流程会开始计时,超时时间到达后,执行下一个流程步骤

6)自定义

自定义,即自定义定位下拉列表。一般情况下,八爪鱼会自动生成定位下拉列表的XPath,自动生成的定位XPath是正确可用的。如果八爪鱼自动生成的下拉列表XPath不能满足需求,则需要我们自己自定义修改XPath

 

7、识别验证码

八爪鱼内置验证码识别控件,适用于有输入验证码的框的情况。购买验证码套餐可实现自动识别验证码,不购买则仅可进行单机采集。

1)操作名

自定义操作名称

2)执行前等待

对此步骤设置执行前等待,即等待设置的时间后,再进行此步骤

3)或者出现元素

或者出现元素,配合执行前等待使用,在其中输入元素的XPath可以在出现该元素的时候结束执行前的等待。例如我们设置执行前等待10秒,或者出现元素设置为某元素。假如第13秒元素加载出来,则八爪鱼会在第10秒尝试进行循环提取操作,假如第8秒元素加载出来,则八爪鱼会在第8秒元素加载出来后立刻结束循环的执行前等待,进行循环提取操作。

4)验证码图片XPath

在配置验证码识别的时候,会让我们点击页面中的验证码图片,点击后系统自动生成验证码图片XPath。如果验证码图片在Iframe里,请勾选“元素在Iframe里”,并在后面的Iframe XPath中填写Iframe XPath;Iframe XPath 元素所在Iframe的路径,只有当勾选“元素在Iframe里”时这个设置才会生效

5)验证码输入框XPath

在配置验证码识别的时候,会让我们点击页面中的验证码输入框,点击后系统自动生成验证码输入框XPath。如果验证码输入框在Iframe里,请勾选“元素在Iframe里”,并在后面的Iframe XPath中填写Iframe XPath;Iframe XPath 元素所在Iframe的路径,只有当勾选“元素在Iframe里”时这个设置才会生效

6)提交元素XPath

在配置验证码识别的时候,会让我们点击页面中的提交按钮,点击后系统自动生成提交元素XPath。如果提交按钮在Iframe里,请勾选“元素在Iframe里”,并在后面的Iframe XPath中填写Iframe XPath;Iframe XPath 元素所在Iframe的路径,只有当勾选“元素在Iframe里”时这个设置才会生效

7)Ajax提交

即输入完验证码后,点击网页中某个按钮,如“确定”,将输入的信息提交给网站。一般而言此类提交都是ajax加载,故会默认勾选上ajax提交。

ajax,即异步加载,是一种无需重新加载网页就能刷新局部数据的技术,因此流程不能检测到网页加载完成,就不能决定何时该执行下一个步骤。此会按一个默认时间120秒进行等待后再继续往下执行,故导致采集过慢。使用此选项后,流程会按设定的超时时间进行等待,从而继续执行后续流程步骤。本选项需要配合异步加载超时使用。

ajax超时:等待异步加载完成的时间,在点击提交按钮后,流程会开始计时,超时时间到达后,执行下一个流程步骤

8)出现错误特征时重试

出现元素:在配置识别验证码错误场景时,页面会出现“验证码错误”等提示,点击这个错误提示,八爪鱼会自动生成这个元素的XPath,并设置一定的重试次数

出现文本:也可以选择输入页面出现的错误提示文本,同样设置一定的重试次数

9)辅助模式选项

当前验证码:在手动执行识别验证码的时候,需在此位置输入网页中显示的当前验证码。输入正确的验证码并点击“应用到网页中并提交”后,网页会识别验证并提交,从而完成验证码登录

 

8、条件分支

本步骤会从左到右选择第一个符合条件的分支,并执行该分支。在八爪鱼中,对左侧分支设置条件,最右侧分支不设置条件(即使设置了也不会进行判断)

 

1)不判断,总是执行该分支:不设置任何判定条件,该分支总是符合执行条件

2)当页面中包含文本:当页面中包含指定文本是,该分支符合执行条件

3)当页面中包含元素:当页面中包含指定元素时,该分支符合执行条件,配合元素XPath使用 。元素XPath判定条件元素的XPath路径。如果元素在Iframe里,请勾选“元素在Iframe里”,并在后面的Iframe XPath中填写Iframe XPath;Iframe XPath 元素所在Iframe的路径,只有当勾选“元素在Iframe里”时这个设置才会生效

4)执行前等待

对此步骤设置执行前等待,即等待设置的时间后,再进行此步骤

 

9、鼠标移动到元素上

本步骤用于将鼠标悬停在指定元素上。

1)操作名

自定义操作名

2)执行前等待

对此步骤设置执行前等待,即等待设置的时间后,再进行此步骤

3)或者出现元素

或者出现元素,配合执行前等待使用,在其中输入元素的XPath可以在出现该元素的时候结束执行前的等待。例如我们设置执行前等待10秒,或者出现元素设置为某元素。假如第13秒元素加载出来,则八爪鱼会在第10秒尝试进行循环提取操作,假如第8秒元素加载出来,则八爪鱼会在第8秒元素加载出来后立刻结束循环的执行前等待,进行循环提取操作。

配合循环步骤来使用,用以重复的将将鼠标悬停循环中指定的元素上

4)Ajax加载

该步骤一般都是ajax加载的,软件会自动勾选上。

Ajax也叫异步加载,是一种无需重新加载网页就能刷新局部数据的技术,因此流程不能检测到网页加载完成,就不能决定何时该执行下一个步骤。 很多网页会在鼠标悬停在某些元素上时异步加一些数据,并在页面上显示。使用此选项,流程会在等待设定的超时时间后默认数据已经加载完成,从而继续执行后续流程步骤。本选 项需要配合异步加载超时使用。

Ajax超时:等待异步加载完成的时间,在点击元素之后,流程会开始计时,超时时间到达后,执行下一个流程步骤。本选项需要配合异步加载使用