【8.0】处理需要登录的网页(含登录时有验证码)
2019-11-01 11:57:40 阅读量: 12124
有很多网站,是需要登录账号密码以后,才能采集到目标数据的。有的网站登录时还会需输入验证码。
针对这类网站,八爪鱼提供多种解决方法。本课将详细讲解。
一、需输入账号、密码登录
方法一:浏览器模式中输入账号、密码登录+记住Cookie
针对需要登录的网站,我们可以先将八爪鱼切换成浏览器模式,在浏览器模式下完成登录。然后通过获取Cookie记住登录状态。这样,八爪鱼就能在执行采集任务时,直接以登录状态打开网页,然后再采集数据。
以豆瓣网为为例,
登录网址为:https://www.douban.com
实际要采集数据的网址为:https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4
步骤1、使用浏览器模式,输入账号密码,完成登录
在客户端首页,输入登录网址,打开网页后,点击 按钮,进入浏览器模式。在浏览器模式中,输入账号密码并登录。可以看到,现在,我们已经以登录状态访问网页。
特别说明:
a. 八爪鱼提供浏览器模式。点击 按钮,即可进入浏览器模式。在浏览器模式下,和用普通浏览器访问网页完全一样:只可浏览网页数据,不可配置规则。如需编辑规则,点击【编辑模式】切换回编辑规则模式。
鼠标放到图片上,右键,选择【在新标签页中打开图片】可查看高清大图
下文其他图片同理
步骤2、记住Cookie
现在,我们已经处于登录状态,八爪鱼可以获取登录后的Cookie,记住登录状态。
从左侧拖入一个【打开网页】步骤,输入我们要采集数据的目标网址:https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4。然后选中此【打开网页】步骤,→ 勾选【自定义Cookie】→ 点击【获取当前页面的Cookie】(点击之后可以看到框中出现了cookie)→ 点击【确定】保存。
八爪鱼会记住这个Cookie状态,启动采集后,会以登录状态打开网页。
特别说明:
a. Cookie是什么?通俗的说,Cookie是一些存储在用户电脑上的小文件,用来保存一些站点的用户数据,作用是让浏览器为用户定制内容。例如:用户第一次访问某网站,输入了账号密码登录。浏览器会问你是否需要“记住账号密码”。选择是以后,浏览器就会将这些账号密码信息存储在用户电脑上。下次再访问此网站,就无需再次输入账号密码。
b. cookie是有生命周期的,这个周期多长时间取决于采集的网站。如果Cookie到期了,就需要再重新获取一次登陆之后的Cookie。
c. 如果需要切换账号,可以打开【高级选项】,勾选【打开网页前先清理缓存】。这样,每次打开网页时都会清理掉缓存信息,以未登录状态打开网页,此时再登录新账号即可。
步骤3、按照需求,配置采集任务
接下来,请根据采集需求,自行配置采集任务。在这里以提取第1页的列表数据为例。如若不会,请看 新手入门教程 。
可以看到,在启动本地采集以后,八爪鱼就以登录状态打开网页,采集数据。
方法二:配置登录的采集流程
也可以在采集流程中配置【输入账号-输入密码-点击登录】步骤,模拟登录。这样,八爪鱼在执行采集任务时,就会走一遍输入账号密码的流程。
步骤1、配置输入账号、输入密码的流程
在采集流程中配置【输入账号-输入密码-点击登录】的步骤。
步骤2、按照需求,配置采集任务
这里以简单的,提取一个字段为例。
启动本地采集后,可以看到,八爪鱼执行了一遍【输入账号-输入密码-点击登录】的过程,完成登录并提取到数据。
二、需输入账号、密码、验证码登录
方法一:浏览器模式中输入账号、密码、验证码登录+记住Cookie
按照前面说的方法,打开八爪鱼的浏览器模式,在浏览器模式中输入账号、密码、验证码。同样再按前面说的方法,记住cookie。
然后再按照需求配置规则,不再赘述。
记住cookie十分方便,每次直接以登录状态打开网页采集数据。
但如果目标网站需要每次采集都输入账号、密码、验证码登录一遍,怎么办?每次输入的验证码会变化,八爪鱼如何处理?
方法二:配置登录的采集流程,手动识别验证码
在八爪鱼中,可以在进行本地采集时,手动识别验证码,支持几乎所有类型的验证码。
步骤1. 按照前面说的方法,配置【输入账号-输入密码】的步骤。
步骤2. 将八爪鱼切换成浏览器模式,输入验证码。
特别说明:
a. 为什么不像输入账号密码那样,做一个【输入验证码】的流程?因为账号密码是固定不变的,八爪鱼可以按照我们的设定,将其输入进去。面对变化的验证码,这样做不行。
步骤3. 取消浏览器模式,选中登录按钮,做【点击登录】步骤。现在,我们完成了登录。
步骤4. 对【点击登录】步骤,设置【执行前等待】,等待的时间长一点。这么做的目的是:在八爪鱼执行采集任务时,自动输入账号密码后,在【点击登录】前等待一段时间,这个等待的时间用于我们手动输入验证码。
步骤5. 按照需求,配置采集规则。这里简单提取一个数据。
步骤6. 启动采集后,可以看到,八爪鱼在输完账号密码后,处于等待状态。我们手动输入验证码,等待结束后,点击登录按钮完成登录,并采集到想要的数据。
特别说明:
a. 几乎所有类型的验证码,都可以通过此方法完成验证:输入验证码、滑块验证码、手势验证码。因为是我们自己手动完成验证的。
b. 此方法只能用于本地采集,不能用于云采集。因为手动输入验证码需要看到运行采集任务的过程,本地采集可以看到,云采集看不到采集过程。
方法三:配置登录的采集流程,自动识别验证码
八爪鱼提供自动打码工具,可以实现自动识别验证码。支持自动识别【在输入框中输入验证码】和【滑块验证码(部分)】。
在输入框中输入验证码
先配置【输入账号-输入密码】的流程,然后使用【八爪鱼验证码识别】控件。
滑块验证码(部分)
特别说明:
a.【八爪鱼验证码识别控件】,只支持识别两种类型的验证码:输入验证码、滑块验证码(部分)。
b. 此方法可以用于本地采集,需要手动输入验证码。
c. 此方法最常用于云采集,配合验证码套餐实现自动打码。验证码套餐需额外购买,点击查看并购买 验证码套餐。