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 相关文章推荐
Python的动态重新封装的教程
Apr 11 Python
python中Switch/Case实现的示例代码
Nov 09 Python
Python爬虫天气预报实例详解(小白入门)
Jan 24 Python
Linux下python3.6.1环境配置教程
Sep 26 Python
对Python中Iterator和Iterable的区别详解
Oct 18 Python
python用plt画图时,cmp设置方法
Dec 13 Python
python解析含有重复key的json方法
Jan 22 Python
使用GitHub和Python实现持续部署的方法
May 09 Python
Window10下python3.7 安装与卸载教程图解
Sep 30 Python
pytorch查看torch.Tensor和model是否在CUDA上的实例
Jan 03 Python
python离线安装外部依赖包的实现
Feb 13 Python
分享Python异步爬取知乎热榜
Apr 12 Python
python实现调用摄像头并拍照发邮箱
Apr 27 #Python
django如何自定义manage.py管理命令
Apr 27 #Python
Python爬虫之爬取二手房信息
七个Python必备的GUI库
Python实战之用tkinter库做一个鼠标模拟点击器
Python基础之pandas数据合并
上手简单,功能强大的Python爬虫框架——feapder
You might like
PHP中的extract的作用分析
2008/04/09 PHP
从Web查询数据库之PHP与MySQL篇
2009/09/25 PHP
使用bcompiler对PHP文件进行加密的代码
2010/08/29 PHP
浅析HTTP消息头网页缓存控制以及header常用指令介绍
2013/06/28 PHP
php中get_object_vars()方法用法实例
2015/02/08 PHP
ie和firefox中img对象区别的困惑
2006/12/27 Javascript
document.createElement()用法及注意事项(ff下不兼容)
2013/03/13 Javascript
js将long日期格式转换为标准日期格式实现思路
2013/04/07 Javascript
[JSF]使用DataModel处理表行事件的实例代码
2013/08/05 Javascript
JQuery的Ajax请求实现局部刷新的简单实例
2014/02/11 Javascript
node.js中的fs.lstat方法使用说明
2014/12/16 Javascript
DEDECMS如何为文章添加HOT NEW标志图片
2015/08/14 Javascript
理解javascript中Map代替循环
2016/02/26 Javascript
JavaScript Ajax编程 应用篇
2016/07/02 Javascript
JavaScript日期对象(Date)基本用法示例
2017/01/18 Javascript
JS实现的合并两个有序链表算法示例
2019/02/25 Javascript
详解js中let与var声明变量的区别
2020/04/05 Javascript
JavaScript的console命令使用实例
2019/12/03 Javascript
vue 解决uglifyjs-webpack-plugin打包出现报错的问题
2020/08/04 Javascript
Vue Elenent实现表格相同数据列合并
2020/11/30 Vue.js
[06:10]6.81新信使新套装!给你一个炫酷的DOTA2
2014/05/06 DOTA
跟老齐学Python之再深点,更懂list
2014/09/20 Python
Python 详解基本语法_函数_返回值
2017/01/22 Python
python三方库之requests的快速上手
2019/03/04 Python
Python中Numpy mat的使用详解
2019/05/24 Python
python实现大文本文件分割
2019/07/22 Python
pygame实现俄罗斯方块游戏(基础篇2)
2019/10/29 Python
python argparse传入布尔参数false不生效的解决
2020/04/20 Python
localStorage、sessionStorage使用总结
2017/11/17 HTML / CSS
加拿大廉价机票预订网站:CheapOair.ca
2018/03/04 全球购物
Java方面的关于数组和继承的笔面试题
2015/09/18 面试题
个人自我鉴定写法
2013/11/30 职场文书
实习教师自我鉴定
2013/12/12 职场文书
体育比赛口号
2014/06/09 职场文书
2015国庆66周年宣传语
2015/07/14 职场文书
2016春季运动会通讯稿
2015/07/18 职场文书