连续打码:破解各种验证码连续采数据——以工商信息网采集为例 ... ...

2016-10-21 12:17| 发布者: ym| 查看: 23945| 评论: 8

摘要: 不少网站会用到验证码反爬技术,遇到这种网页就会采集失败。但是集搜客爬虫的“打码功能”可以解决出现验证码的情况,在采集网页的过程中破解各种输入型、算术型、滑块型验证码(滑块型需要定制),让爬虫能够持续有 ...

注:集搜客GooSeeker爬虫从V9.0.2版本开始,爬虫术语“主题”统一改为“任务”,在爬虫浏览器里先命名任务再创建规则,然后登录集搜客官网会员中心的“任务管理”里,就可以查看任务的采集执行情况、管理线索网址以及做调度设置了。

不少网站会用到验证码反爬技术,遇到这种网页就会采集失败。但是集搜客网络爬虫的“打码功能”可以解决出现验证码的情况,在采集网页的过程中破解各种输入型、算术型、滑块型验证码(滑块型需要定制),让爬虫能够持续有效地采到更多数据。


一、案例规则+操作步骤

下面以江苏工商网为案例,讲解如何实现自动打码连续采数据,操作步骤如下:


二、案例规则+操作步骤

第一步:开通打码平台账号

1.1,打码功能是旗舰版爬虫的功能,请先购买。它的工作过程是集搜客网络爬虫把验证码转发给打码平台,再把返回的验证码值输入到网页上,从而完成打码的过程。

1.2,目前对接了一个在线打码平台:联众打码,请用户自行选择打码平台开户和充值。 集搜客爬虫把验证码转发给打码平台,再把返回的验证码值输入到网页上,从而完成打码的过程。

第二步:定义第一级规则

2.1,破解网页的验证码首先要找到出现验证码的网页,然后定义连续动作。以江苏省工商网为例,输入企业名称,点击搜索后,就会弹出验证码浮窗,这个就是验证码出现的条件,也是后面设置连续动作的类型和顺序。


2.2,用集搜客网络爬虫打开网页,点击定义规则,可以随意标注一个信息,让爬虫可以判断是否执行采集。


2.3,按照上面2.1的观察,依次建立连续动作。第一个是输入动作,在目标主题名里填入下级规则的名字,输入关键词,再把定位到输入框的xpath填入到定位表达式里。


2.4,第二个动作是点击搜索,操作与上面相同。


2.5,第三个动作就是打码,需要定位到验证码弹窗,所以,先保存规则,然后点击“定义规则”恢复到普通网页模式,输入公司名、点击搜索,使验证码出现,再次点击“定义规则”继续设置打码动作。

2.6,建立“打码”动作,定位图片的xpath、定位输入框的xpath、定位提交框的xpath


2.7,点开“高级设置”,根据实际情况选择验证码类型和字符长度。

2.8,保存规则


第三步:定义第二级规则

3.1,点击“定义规则”恢复到普通网页模式,输入验证码,搜索出结果后,再次点击“定义规则”切换到做规则模式,点击左上角“规则”菜单->“新建”第二级规则。

3.2,输入第二级主题名,标注出想采的信息,点击测试,再保存规则。


第四步:爬数据

4.1,在DS打数机的高级菜单->打码平台,配置一下打码平台的账号密码


4.2,搜索出第一级规则并运行,就会看到网页上自动输入关键词、点击搜索、输入验证码,然后就会连贯采集第二级规则。

注意:第一级规则的连续动作执行成功后会自动采集下级规则,所以不用单独运行下级规则,特别是下级规则如果没有独立网址,运行时采不到目标数据就会失败。

注意:以上是对案例网站做的采集规则,请根据目标网站的实际情况来定义规则。


Tips1:对于采集过程中会弹出验证码的情况如何做规则?

在同一个主题名下建立两个规则,两者的规则编号是不同的,第一个规则就采集正常网页的目标信息,第二个规则就是专门解决验证码弹窗的页面,这样爬虫在遇到验证码弹窗时就会自动输入和验证,然后再回到正常的页面继续采集。


Tips2:没有独立网址的网页,要如何加载和修改规则?

对于没有独立网址的网页,需要先点击到那个页面,然后搜规则,右击选择“仅加载规则”,点击“规则”菜单->“后续分析”完成加载操作,就可以修改规则了。

例如,本案例的第二级规则是没有独立网址,需要先加载出第一级规则,恢复到普通网页模式,输入关键词、点击搜索、输入验证码(建议写在规则的备注里,方便查阅),得到搜索结果的网页后,再对第二级规则右击选“仅加载规则”。

三、避免重复打码

从V8.11.0开始,打码过程进行了优化,通过配置高级设置,可最大可能地避免重复打码。具体设置方法参看《网络爬虫自动打验证码避免重复打码


上篇文章:《飞掠模式:追踪弹窗采数据》                             下篇文章:《连续动作的界面介绍》


若有疑问可以集搜客爬虫软件
1

鲜花

握手

雷人
2

路过

鸡蛋

刚表态过的朋友 (3 人)

相关阅读

发表评论

最新评论

评论 13807308232 2020-7-4 17:55
图片验证码识别平台:http://cnvote.net/coun/yzm/reg.asp,识别所有英文数字类型的验证码30元/万图
量大的话可以定制本地无限制识别,也可以定制自动打码和输入工具。
评论 SGCCtopic 2017-7-27 05:24
gz51837844: 规则1和规则2分别抓取正常页面和需要打码的页面,检查是否两个规则抓取了对应的页面 另外建议使用云速打码,更精确 ...
另外,发现确实云速打码比联众打码更快更准
评论 SGCCtopic 2017-7-27 05:19
gz51837844: 规则1和规则2分别抓取正常页面和需要打码的页面,检查是否两个规则抓取了对应的页面 另外建议使用云速打码,更精确 ...
试了好久,发现不用做两条规则,只要在数据抓取的那个规则里加上连续动作里的打码动作就可以了,只要记得把高级设置里的尝试次数多调几次,打码可能两三次才能成功
评论 SGCCtopic 2017-7-27 04:27
gz51837844: 规则1和规则2分别抓取正常页面和需要打码的页面,检查是否两个规则抓取了对应的页面 另外建议使用云速打码,更精确 ...
两个规则对应着两个页面没问题。我尝试了几次,感觉问题是在于两个规则适用于两个页面的判定程序。当两个线索存在差异可以通过做两个规则来解决。但是,微博抓取过程是一个翻页过程,是一个线索在翻页而已。当一个线索被判定为使用正常抓取数据规则的时候,就不会再在翻页出现验证码页的时候判断是否要切换规则,而是会判断为规则不适用而结束抓取。同样当我已经被要求输入验证码时候,使用打码的那个规则开始爬数据,就会出现打码成功后成功进入正常的数据抓取页,这时候,爬虫却选择了结束这条线索,因为爬虫选择了用打码的规则来处理这条线索,之前的规则不适用,自然就结束了。所以,这种微博翻页过程中出现的验证码页面该怎么办? ...
评论 gz51837844 2017-7-26 17:47
SGCCtopic: 如果是微博翻页抓取过程中出现验证码怎么办?我连的联众打码,我在一个主题下做了两个规则,一个是抓取微博列表内容的,一个是打码的,分别设置了关键内容,但是 ...
规则1和规则2分别抓取正常页面和需要打码的页面,检查是否两个规则抓取了对应的页面
另外建议使用云速打码,更精确
评论 SGCCtopic 2017-7-26 16:21
如果是微博翻页抓取过程中出现验证码怎么办?我连的联众打码,我在一个主题下做了两个规则,一个是抓取微博列表内容的,一个是打码的,分别设置了关键内容,但是,如果在抓取了几页之后出现要求输入验证码页的时候,爬虫就自动判定这条线索抓取结束。如果是在要求输入验证码页开始让爬虫自动打码,如果打码成功,同样不会继续往下翻页抓取,同意意味着抓取结束。
评论 Fuller 2016-12-2 09:18
中秋2016: 示例的情况是: 打码之后, 进入一个新的页面进行抓取 如果是翻页采集过程中出现验证码, 那么定义打码动作对应的主题名应该填写什么?, ...
应该主题名不变
评论 中秋2016 2016-12-2 08:48
示例的情况是: 打码之后, 进入一个新的页面进行抓取
如果是翻页采集过程中出现验证码, 那么定义打码动作对应的主题名应该填写什么?,

查看全部评论(8)

GMT+8, 2024-12-21 19:55