python实现腾讯滑块验证码识别


Posted in Python onApril 27, 2021

腾讯滑块验证码识别,识别凹槽的x轴位置,mock滑块的加速度。该项目公开API,提供识别和加速度模拟部分,第二部分模拟滑动进行识别返回数据请求

项目地址:https://github.com/zhaojunlike/python-tecent-slider-crack

安装python环境

参考:https://janikarhunen.fi/how-to-install-python-3-6-1-on-centos-7

sudo yum install https://centos7.iuscommunity.org/ius-release.rpm
sudo yum install python36u
python3.6 -V
sudo yum install python36u-pip
sudo yum install python36u-devel

创建环境 Creating a virtualenv

python3.6 -m venv venv
. venv/bin/activate
pip install [package_name]
# 安装依赖
pip install -r requirements.txt

daemonize 运行

# 参考 https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-uswgi-and-nginx-on-ubuntu-18-04
# Install the latest stable release:
pip install uwsgi
# ... or if you want to install the latest LTS (long term support) release,
pip install https://projects.unbit.it/downloads/uwsgi-lts.tar.gz

# 创建ln 
cp captcha.service /etc/systemd/system/captcha.service
systemctl enable captcha.service
systemctl start captcha.service
uwsgi --ini /usr/local/nginx/html/myblog/uwsgiconfig.ini

#后台运行
uwsgi --ini /usr/local/nginx/html/myblog/uwsgiconfig.ini --daemonize /usr/local/nginx/html/myblog/myblog.out

nginx做代理

location /tx/ {
            add_header Access-Control-Allow-Origin *;
            include        uwsgi_params;
            uwsgi_pass     127.0.0.1:8008;
        }

访问api

请求图片识别和加速度模拟

http://127.0.0.1:5000/tx/image

POST /tx/image HTTP/1.1
Host:host
Content-Type: application/json
Accept: */*
Cache-Control: no-cache
Accept-Encoding: gzip, deflate
Content-Length: 1055
Connection: keep-alive
cache-control: no-cache

{
    "url": "图片的地址"
}

返回数据

{
    "data": {
        "list": [],//模拟的点
        "url": "",//图片地址
        "x": 515,// x轴的偏移量
    },
    "message": "解析成功"
}

模拟浏览器移动

const slider = {width: 680, point: 0, move: 0, steps: 0, posX: 0};//原本的高度
            //开始计算移动的距离
            slider.point = bgSize.width / slider.width * x;
            slider.move = handle.x + slider.point - 5;
            slider.steps = Math.random() * 100 / 30 + 100;
            slider.posX = handle.x + handle.width / 2;

            logger.info(`开始识别和移动滑块`, slider);

            //滑块的位置
            await page.mouse.move(slider.posX, handle.y + handle.height / 3, {steps: slider.steps});
            await page.mouse.down();
            let val = handle.x;
            for (let i = 0; i < traces.length; i++) {
                val += bgSize.width / slider.width * (traces[i]);//缩放距离
                slider.move = val;
                if (val <= slider.posX) continue;
                await page.mouse.move(slider.move, handle.y + handle.height / 2 + 5);
            }
            await page.waitFor(100);
            await page.mouse.up();

 

验证码识别成功后悔返回验证识别结果的Ticket

python实现腾讯滑块验证码识别

协议

授权协议:只允许研究、学习目的的分享、使用、修改,不允许任何商业用途。

原文地址:https://segmentfault.com/a/1190000020618430

以上就是python实现腾讯滑块验证码识别的详细内容,更多关于python 滑块验证码识别的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
在树莓派2或树莓派B+上安装Python和OpenCV的教程
Mar 30 Python
Python实现文件信息进行合并实例代码
Jan 17 Python
pandas的object对象转时间对象的方法
Apr 11 Python
linux安装Python3.4.2的操作方法
Sep 28 Python
python实现自动化上线脚本的示例
Jul 01 Python
Python中函数的返回值示例浅析
Aug 28 Python
Python爬取腾讯视频评论的思路详解
Dec 19 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
Feb 27 Python
python批量生成身份证号到Excel的两种方法实例
Jan 14 Python
opencv实现图像几何变换
Mar 24 Python
python开发实时可视化仪表盘的示例
May 07 Python
python munch库的使用解析
May 25 Python
python实现调用摄像头并拍照发邮箱
Apr 27 #Python
django如何自定义manage.py管理命令
Apr 27 #Python
Python爬虫之爬取二手房信息
七个Python必备的GUI库
Python实战之用tkinter库做一个鼠标模拟点击器
Python基础之pandas数据合并
上手简单,功能强大的Python爬虫框架——feapder
You might like
php各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
php图片的二进制转换实现方法
2014/12/15 PHP
php实现用手机关闭计算机(电脑)的方法
2015/04/22 PHP
PHP浮点数的一个常见问题
2016/03/10 PHP
PHP基于mcript扩展实现对称加密功能示例
2019/02/21 PHP
详解php中生成标准uuid(guid)的方法
2019/04/28 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
JavaScript 笔记二 Array和Date对象方法
2010/05/22 Javascript
iphone safari不支持position fixed的解决方法
2012/05/04 Javascript
前后台交互过程中json格式如何解析以及如何生成
2012/12/26 Javascript
页面加载完毕后滚动条自动滚动一定位置
2014/02/20 Javascript
javascript二维数组转置实例
2015/01/22 Javascript
原生JavaScript编写俄罗斯方块
2015/03/30 Javascript
jQuery Ajax页面局部加载方法汇总
2016/06/02 Javascript
JavaScript函数中关于valueOf和toString的理解
2016/06/14 Javascript
JQuery和PHP结合实现动态进度条上传显示
2016/11/23 Javascript
基于vue实现分页效果
2017/11/06 Javascript
Vue 拦截器对token过期处理方法
2018/01/23 Javascript
Node.js net模块功能及事件监听用法分析
2019/01/05 Javascript
validform表单验证的实现方法
2019/03/08 Javascript
JavaScript实现Tab选项卡切换
2020/02/13 Javascript
小谈angular ng deploy的实现
2020/04/07 Javascript
[46:57]EG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[48:31]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第一场 2月2日
2021/03/11 DOTA
用Python中的wxPython实现最基本的浏览器功能
2015/04/14 Python
浅谈Python 中整型对象的存储问题
2016/05/16 Python
python解决汉字编码问题:Unicode Decode Error
2017/01/19 Python
利用pytorch实现对CIFAR-10数据集的分类
2020/01/14 Python
canvas如何绘制钟表的方法
2017/12/13 HTML / CSS
伦敦剧院及景点门票:Encore Tickets
2018/07/01 全球购物
Manuka Doctor英国官网:真正的麦卢卡蜂蜜和护肤品
2018/10/26 全球购物
高三生物教学反思
2014/01/25 职场文书
户外拓展活动方案
2014/02/11 职场文书
餐厅楼面主管岗位职责范本
2014/02/16 职场文书
淘宝客服工作职责
2014/07/11 职场文书
学习焦裕禄精神践行三严三实心得体会
2014/10/13 职场文书