快捷导航

抓取网页时自动登录和自动输入验证码

2015-8-25 17:30| 发布者: ym| 查看: 11625| 评论: 1

摘要: 集搜客GooSeeker网页抓取软件可以与在线打码平台对接,如果抓取的网站要求输入验证码,那么就把验证码转发给在线打码平台,GooSeeker将打码平台给回的结果自动录入到网页上,完成打码过程。 ... ... ... ... ... ... ...

集搜客GooSeeker网页抓取软件可以与在线打码平台对接,如果抓取的网站要求输入验证码,那么就把验证码转发给在线打码平台,GooSeeker将打码平台给回的结果自动录入到网页上,完成打码过程。集搜客GooSeeker V5.1.0版本支持如下功能

  • 与联众打码平台对接,请用户自行在联众打码平台上开户和充值
  • 打码只用于登录过程,如果是在抓取过程中出现验证码,请联系我们
  • 如果需要对接其它打码平台,请联系我们
  • 登录过程以及与打码平台对接所需的参数只能通过crontab.xml进行设置。手工启动的DS打数机无法自动登录和与打码平台对接

注释:crontab.xml文件是DS打数机用来自动周期性调度多个爬虫窗口的指令文件,详见GooSeeker对此文件的解释下文将详细讲解自动登录和打码平台对接需要配置的参数


目录

  • 1 自动登录和自动打码所需参数
  • 2 参数说明
  • 3 完整的爬虫调度
  • 4 过程记录和误打申诉
  • 5 信息安全确保


1,自动登录和自动打码所需参数

请注意:本版本GooSeeker并不能自动识别登录过程是否需要打码,如果使用下面的配置参数,那么就是登录过程一定需要打码。如果只需自动登录,请使用专用的登录crontab指令。

下面是crontab.xml文件中相关指令的示例crontab登录指令.zip(点击可下载示例)


2,参数说明

其他通用参数,请详见《如何通过crontab程序实现周期性增量采集数据》,下面主要讲解几个专用参数。

  • 登录网页网址 loginpage

例如,在去哪儿登录网页上,可以看到上图的界面,这个参数就是网址 https://user.qunar.com/passport/login.jsp?ret=http%3A%2F%2Fwww.qunar.com%2F

  • 登录账号 loginaccount

就是在上图需要输入的账号名字

  • 登录密码 loginpassword

就是在上图需要输入的密码

  • 账号输入框定位xpath accountinput

这是一个标准的xpath,可以使用MS谋数台,打开内容定位功能,点击浏览器中的账号输入框,就能在“网页结构”窗口中定位到这个输入框,点击“显示XPath”按钮,就能看到定位这个输入框的XPath表达式,如下

     /html/body/div[position()=2]/div[position()=3]/div[position()=2]/div[position()=1]/form/div[position()=2]/div[position()=1]/input

为了能够精确定位,可以使用定位标志,即网页中的@class和@id,对于去哪儿这个网站,使用定位标志以后的xpath将是:

     //div[@class='field-login']/div[contains(@class, 'username-field')]/input

可见,简短了很多,适应性也提高了很多。

  • 密码输入框的定位XPath passwordinput

类似账号输入框定位xpath

  • 验证码图的定位xpath captchaimg

使用类似方法,可以获得xpath表达式://div[@id='captcha']//p/img[@id='vcodeImg']

  • 验证码输入框的定位xpath captchainput

如果是人工输入验证码的话,就在这个输入框中输入看到的字母数字,这个参数也是一个xpath

  • 登录按钮的定位xpath submitinput

登录页面通常都会显示一个醒目的“登录”按钮,这个xpath就是定位这个按钮的。在网页不一定是一个按钮,也许是一个div,只要是用来点击的,都可以。

  • 如果登录成功,能够看到的标志的定位xpath loginmark

通常,如果登录成功,会显示一个网页,上面会说“欢迎xxx”,这串文字就可以作为登录成功标志。

  • 联众打码平台的登录账号 olcaptchaaccount
  • 联众打码平台的登录密码 olcaptchapassword

请用户自行在 http://www.jsdati.com/ 上开户和充值,把账号和密码配置在这两个参数中。


3,完整的爬虫调度

上面的crontab.xml只有登录一个步骤(step name="captchalogin"),通常一个网站登录以后,只要不关闭浏览器,再打开其他网页,就不用登录了。所以,在使用自动登录的时候,有两个选择

  • 可以专门配置一个线程,专门用来登录;
  • 也可以放在某个线程的开头,先进行登录,再抓取。

如果已经登录了,DS打数机会根据loginmark标志,直接跳过登录过程。


4,过程记录和误打申诉

找到抓取结果文件夹,通常在DataScraperWorks目录下,这个目录的上级目录可以在DS打数机的菜单上“文件”->“存储路径”查到,抓取结果是分主题名存放的,上述示例的主题名是testcase_autologin_step,那么可以找到这个文件夹,打开以后可以看到一个子目录captcha,完整的目录结构如下图

1660287210 文件夹是某个时间进行的打码对接记录,进入这个文件夹,可以看到原始验证码图和打码平台返回的结果。如果打码平台错误率很高,可以用这个记录信息与打码平台联络,要求对方改善服务质量。


5,信息安全确保

正如GooSeeker亮点——隐私保护所说,这个配置文件存放在用户本地计算机上,而不存放在GooSeeker云服务器上,所以上述账号和密码都不会泄露出去。

若有疑问可以集搜客网络爬虫
1

鲜花

握手

雷人

路过

鸡蛋

刚表态过的朋友 (1 人)

相关阅读

发表评论

最新评论

评论 Fuller 2015-8-26 21:56
这个功能对应集搜客GooSeeker的产品优势之八——自动登录验证码识别(参看:http://www.gooseeker.com/about/feature.html#8)

查看全部评论(1)

集搜客GooSeeker网络爬虫 ( 粤ICP备11065265号-2 )

GMT+8, 2017-9-25 12:29