有很多网站,是需要登录账号密码以后,才能采集到目标数据的。有的网站登录时还会需输入验证码。

针对这类网站,八爪鱼提供多种解决方法。本课将详细讲解。

 

方法一、浏览器模式+记住Cookie

 

针对需要登录的网站,我们可以先将八爪鱼切换成浏览器模式,在浏览器模式下完成登录。然后通过获取Cookie记住登录状态。这样,八爪鱼

能在执行采集任务时,直接以登录状态打开网页,然后再采集数据。

 

场景一:输入账号、密码登录

 

以豆瓣网为例,

登录网址为:https://www.douban.com

实际要采集数据的网址为:https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4

 

步骤1、使用浏览器模式,输入账号密码,完成登录

在客户端首页,输入登录网址,打开网页后,点击  按钮,进入浏览器模式。下图状态即为浏览器模式。在浏览器模式下,和用普通浏览器访问网页完全一样:只可浏览网页数据,不可配置规则。如需编辑规则,再次点击 按钮,关闭浏览器模式。

 

 

鼠标放到图片上,右键,选择【在新标签页中打开图片】可查看高清大图

下文其他图片同理

 

在浏览器模式中,输入账号密码并登录。可以看到,现在我们已经以登录状态访问网页。

 

 

步骤2、记住Cookie

 

现在,我们已经处于登录状态,八爪鱼可以获取登录后的Cookie,记住登录状态。

将鼠标移动到【打开网页】步骤后的 位置,会出现  按钮。点击 按钮,再添加一个【打开网页】步骤。双击新建的【打开网页】步骤,输入要采集数据的目标网址:https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4。

然后在【高级设置】勾选【使用指定的Cookie】,再点击【获取当前页面Cookie】。获取Cookie后会变成 ,点击  ,可查看具体的Cookie内容,最后点击【应用】保存。

八爪鱼会记住这个Cookie状态,启动采集后,直接以登录状态打开网页。

 

 

特别说明:

a. Cookie是什么?通俗的说,Cookie是一些存储在用户电脑上的小文件,用来保存一些站点的用户数据,作用是让浏览器为用户定制内容。例如:用户第一次访问某网站,输入了账号密码登录。浏览器会问你是否需要“记住账号密码”。选择是以后,浏览器就会将这些账号密码信息存储在用户电脑上。下次再访问此网站,就无需再次输入账号密码。

b. Cookie是有生命周期的,这个周期多长时间取决于采集的网站。如果Cookie到期了,就需要再重新获取一次登陆之后的Cookie。

c. 如果需要切换账号,可以打开【高级选项】,勾选【打开网页前先清理缓存】。这样,每次打开网页时都会清理掉缓存信息,以未登录状态打开网页,此时再登录新账号即可。

 

 

步骤3、按照需求,配置采集任务

 

接下来,请根据采集需求,自行配置采集任务。在这里以提取第1页的列表数据为例。如若不会,请看 新手入门教程

 

 

可以看到,在启动本地采集以后,八爪鱼就以登录状态打开网页,采集数据。

 

 

场景二:输入账号、密码、验证码登录

 

以八爪鱼官网为例,登录网址为:https://www.bazhuayu.com/login

 

与上面的方法一致,打开八爪鱼的浏览器模式,输入账号、密码、验证码即可。

 

 

获取登录后的Cookie,记住登录状态。然后再按需求配置采集规则,具体请参考 新手入门课程,这里不再赘述。

 

 

特别说明:

a. 用浏览器模式登录时,支持多种类型的验证码,包括输入型、滑块、手势等,因为是我们自己手动操作,跟在浏览器中相同。

 

记住cookie十分方便,每次直接以登录状态打开网页采集数据。但是,这个方法有一定局限性,部分网站是不支持Cookie登录的。此时,我们就可以用下面的方法。

 

 

方法二、配置【输入账号-输入密码-点击登录】的流程

 

针对需要登录的网站,我们也可以在采集流程中配置【输入账号-输入密码-点击登录】步骤,模拟登录。这样,八爪鱼在执行采集任务时,就会走一遍输入账号密码的流程。

 

场景:输入账号、密码、验证码登录

 

以八爪鱼官网为例,

登录网址为:https://www.bazhuayu.com/login

 

步骤1、配置输入账号、输入密码的流程

 

网页打开以后,选中网页的用户名输入框,在弹出的操作提示框中,输入账号。再选中网页的密码输入框,在弹出的操作提示框中,输入密码。

 

 

步骤2、使用【验证码识别】控件,实现自动打码

账号、密码一般都是固定的,因此可以用文本输入的方法。但是,验证码是变化的,并不固定。

八爪鱼提供【验证码识别】控件,接入优质打码平台,可以实现自动识别验证码。以下为具体配置过程。

 

先选中页面中的验证码输入框,再弹出的操作提示框中,选择【识别验证码】,再在页面中选中验证码图片,根据提示,继续在页面中选中【登录】按钮(选中页面中点击登录的按钮,根据网页实际情况来)。

 

 

接下来,需要配置【识别失败】场景。点击【确定】,八爪鱼会自动提交一个错误验证码,此时页面中出现【验证码错误】提示。点击页面中的【验证码错误】,再点击操作提示框中的【确认错误】。

 

 

特别说明:

a. 为什么要配置【识别失败】场景?因为自动识别验证码,可能存在识别错误的情况(网站需要多次输入验证码/八爪鱼对接的打码平台有0.1%概率出错)。八爪鱼需要知道识别错误后的提示是什么,根据是否出现提示判断是否识别失败。如果识别失败,则再次自动识别,直至识别正确。

 

下面,需要配置【识别成功】场景。点击【开始配置识别成功场景】,在弹出的操作提示框中,输入正确的验证码,然后点击【应用到网页并完成配置】。可以看到,登录成功。

 

 

步骤3、按照需求,配置采集任务

 

登录完成以后,按照需求配置采集规则即可。在这里仅提取1个简单的字段。

 

 

步骤4、启动采集,采集数据

启动本地采集后,可以看到,八爪鱼按照我们配置好的流程,自动地输入账号、密码、识别验证码,完成登录并采集数据。

 

特别说明:

a. 勾选【自动识别验证码】后,自动识别才会生效,如果不勾选则需要自己手动输入验证码。【自动识别验证码】会消耗验证码余额。

b. 进行本地采集时,第一次自动将验证码识别后,需帮助系统点击一次【确认】。进行云采集时,这个过程由八爪鱼自行完成,无需用户手动确认,并且云采集默认会拆分任务进行采集,如果任务里面设置了使用验证码,则拆分的每个子任务都会消耗验证码进行采集。

c.【自动识别验证码】,只支持自动识别两种类型的验证码:输入验证码、和部分滑块验证码。

d. 【自动识别验证码】默认勾选 Ajax,超时时间为 5 秒。可根据网站实际加载情况进行更改,具体请查看 Ajax教程