相应页面(http://glidedsky.com/level/web/crawler-captcha-1)

题目要求:

先看看页面:

当我们一打开页面,就是出现滑块验证码页面,我们所要的数字参数是没有的。

再看看滑动之后的页面。

很明显,当滑块验证通过之后,数字就会出现。

再分析滑块验证码图片,如下图,是腾讯防水墙滑块验证码。

再抓包看看,如下图,验证码图片和滑块图片已经出现,

到这里,简单分析一下思路。

  1. 访问页面,下载验证码图片;
  2. 通过图像识别,计算出验证码图片缺口位置;
  3. 通过selenium模拟移动滑块;
  4. 收集数字数据,继续下一个页面。

实现过程:

使用库:

import os
import randomimport cv2
from PIL import Image
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from urllib.request import urlretrieveimport time
import numpy as np
from lxml import etree

这里说下,部分库与程序作用:

random:模拟滑动轨迹;

vc2、PIL、numpy:处理图片时,计算滑块对应坐标轴;

selenium:自动化处理验证码;

urllib.request.urlretrieve:下载图片。

实现过程:

应于网站要求,这里只说思路(个人程序过程),不提供代码。

  1. 初始化selenium;
  2. 访问页面,先登录,再进行题目页面;
  3. 切换到滑块验证码子页面(因为主页面中,不会显示滑块元素);
  4. 下载对应的滑块验证码图片(验证码带缺口大图,验证码缺口图);
  5. 加载验证码图片,计算坐标值(Image处理图片大小和位置偏移,cv2处理图片颜色色差(灰度),numpy计算坐标轴);
  6. 根据坐标轴,实现模拟滑动过程中的轨迹;
  7. 通过轨迹使用selenium拖动滑块;
  8. 如果成功,收集数字求和,然后下一页,重复第3步,如果滑块验证没有成功,该页面再次请求。

说明:

难点:图像计算坐标,模拟轨迹。

在验证过程中,注意页面的加载速度,可以使用time控制,图片识别时,用cv2处理灰度值,进行归一化处理,numpy可以通过归一化计算出相应坐标。

在网络上,已经有很多大佬实现了腾讯防水墙滑块验证码,可以适当的去参考。

PS:

除了腾讯防水墙滑块验证码,还有极验的滑块验证码,相对腾讯来说,极验的难度比腾讯的大很多,它的版本在不断更新,难度也越高,最开始极验滑块验证码可以通过截图处理保存图片,后来是图片碎片块,不过可以从css里获取对应位置参数,也可以处理,现在极验滑块验证码使用的是webp格式的碎片块图片,难上加难。欢迎知道的大佬留言!!!

glidedsky挑战-滑块验证码反爬(腾讯防水墙滑块验证码)相关推荐

  1. glidedsky挑战-图片式反爬(雪碧图)

    为了避免某某官方网站,本次记录同样也是 "glidedsky" 网站中的反爬虫题目,只要明白,其它网站理论都差不一样. 相关网站:http://glidedsky.com/leve ...

  2. Python使用selenium过天眼查滑块验证码反爬实现模拟登录

    Python使用selenium过天眼查滑块验证码反爬实现模拟登录 天眼查的滑块验证码样式 一顿操作到滑块验证码阶段 破解滑块验证码 结束 天眼查的滑块验证码样式 在输入账号和密码后会发现这个令人讨厌 ...

  3. Glidedsky系列—爬虫CSS反爬

    前言 题目网址为:http://glidedsky.com/level/web/crawler-css-puzzle-1 提示:以下是本篇文章正文内容,下面案例可供参考 一.题目描述 二.题目分析 1 ...

  4. 爬虫如何解决反爬问题——顶象面积验证码破解

    现在网上的反爬措施越来越多,也越来越千奇百怪.居然有验证码让你选哪个面积大,比较新奇,所以来破解一下. 顶象验证码样例如下: 先讲讲解识别原理,最后附上识别代码. 1.确定标记线的位置 先观察标记线颜 ...

  5. 突破淘宝登录滑块验证反爬,防止识别为Chrome自动控制

    文章首发于慕课网手记,已同步到个人博客:https://www.donlex.cn 上次的文章<在爬100万数据的时候,我发现了爬虫的进阶之路> ,有"怂恿"大家伙去突 ...

  6. 图片验证码反爬解决思路

    自打有爬虫以来,爬虫与验证码的战斗就一直在进行着.下面是我处理简单验证码的一点心得: 一.登录验证码: 很多网站采取登录用户名+密码+图片验证码的方式进行登录.对于简单的图片验证码可以采用ocr光学标 ...

  7. 爬虫笔记40之反爬系列三:复杂验证码的处理(12306图片验证码、行为验证:selenium鼠标行为链 + 算法)

    一.12306图片验证码 ​ 解决方案: selenium(鼠标行为链) + 打码平台 ​ 思路: 通过selenium来加载登录页面,获取验证码图片.我就可以把验证码图片交给超级鹰打码平台进行处理. ...

  8. 网络爬虫反反爬小技巧(五)验证码

    本次就来总结总结验证码反爬的一些解决思路. 验证码,也叫 CAPTCHA,取的是其英文全称 Completely Automated Public Turing test to tell Comput ...

  9. vue 插件 滑块验证_VUE接入腾讯验证码功能(滑块验证)备忘

    最近在用VUE做个简单的用户系统,登录注册需要验证码,想找个那种拖动的,找geetest居然已经不面向小客户了(或者说只有收费套餐). 腾讯防水墙的验证码免费使用,有2000/小时的免费额度,对于小网 ...

最新文章

  1. helm部署Loki
  2. kafka学习(二)kafka工作流程分析
  3. 11. IDEA 在同一工作空间创建多个项目
  4. C语言的标识符由什么组成
  5. 扩展bash_Bash中的参数扩展简介
  6. python的网络应用_python 网络编程的应用模块
  7. HDU---1166---敌兵布阵
  8. 数字电路与系统(第三版)答案 戚金清 王兢
  9. ERR_FILE_NOT_FOUND错误
  10. [python]关于numpy中sum函数的axis属性的理解
  11. 步进电机开环控制的要点
  12. PSnbsp;07替换颜色
  13. vue-easy-print批量分页打印
  14. gulp简单入坑介绍
  15. 把多列的迭代次数问题化简为单列问题
  16. 如何高效进行大规模分类?
  17. 攻防世界 re insanity
  18. Linux 文件锁 - fcntl
  19. 机器学习处理数据为什么把连续性特征离散化、离散值、无监督、有监督用处
  20. 关于新手学习帝国之类的CMS工具建议

热门文章

  1. Fat32文件格式不支持大于4G大文件的问题
  2. 第五人格获取服务器信息失败,第五人格正在获取版本信息更新失败怎么办
  3. 恐怕我今天不能在计算机上工作英语,全新版大学英语综合教程3课后句子翻译(中英对照)...
  4. 手机安全卫士(七)----- 添加黑名单(防骚扰)
  5. 江苏电信1元拿iPhone 6享百兆宽带
  6. Vue脚手架项目流程
  7. 生成随机数random学习之uniform_int_distribution,uniform_real_distribution
  8. web前端必学功法之一:用户选择爱好
  9. 【问】SQL 2000数据库管理sa的密码怎么修改?
  10. C语言程序设计实践(OJ)-递归函数与宏