流程步骤高级选项说明
2018-08-08 14:55:41 阅读量: 40381
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超时:等待异步加载完成的时间,在点击元素之后,流程会开始计时,超时时间到达后,执行下一个流程步骤。本选项需要配合异步加载使用