nodejs破解12306心得
来源:互联网 发布:mysql qps 编辑:程序博客网 时间:2024/05/21 05:07
1.利用nodejs写脚本程序模拟请求12306获取图片验证码.
2.把图片放大 剪切成9个图 1标题 + 8个实物图.
3.根据文字识别 把标题转为汉字,nodejs 中可用安装相应的插件 .
4.智能识别(以图搜图) 识别12306验证码实物图中 到底是什么东东, 通过百度识图api 20%-30%准确性 速度很慢大概10-20秒完成(已检验),google识图 听说准确率在85% 访问google还需翻墙,
5,完成以上步骤 ,就可以根据标题写代码只能识别答案的位置 , 并且算好坐标, 然后模拟请求12306登陆接口,成功后12306会返回set-cookie 这时候你需要保存这个身份认证,并且在后续的http请求中带入这个身份.
6. 其他刷票步骤 ui 都可以根据12306ui及api自行完成功能设计 (这个已经算完成了逻辑步骤)
为什么使用nodejs 本人学C#的.HtmlAgilityPack 分析html没有nodejs方便 . 用nodejs 基本是脚本代码 写起来也很方便 ., 然后把他做成api服务 调用这个api即可, 其他的ui上的东西可以写成C# winform程序 也可以写成web 或 最近出来的微信小程序
重点, google需要代理ip才能调用 提升识别率, 用户使用这个软件 也需要代理ip 软件获取用户位置 - 匹配相应地区可以的代理ip进行刷票
为什么要这样做.?
应为12306可能有防刷机制 用户通过你软件刷票. 都是通过你的服务器与12306交互. 如果没有代理ip 容易造成ip禁用 或用户封号.
如何获取高可用ip地址,
1.通过nodejs爬虫 爬各大提供免费代理ip的网站来获取大量ip
2.保存这些地址道数据库中,
3.验证这些地址可用性 , 没有的可以清理掉或设置状态.
国外的代理比较慢 google能访问的是港澳台地区的代理. 可以写个任务计划每天定时去更新代理ip, 可用在开个服务检测可用ip数量 不足立即启用刷代理ip程序
然后12306的破解服务就可以使用数据库中这些可用ip. 如果请求出现超时或中断 请更换一个ip,并且把当前失效.
这个就已经算比较晚上的破解12306程序了,
重点优化的核心内容:
提高破解验证码的时间及识别率,提高识别率就需要用到以图搜图功能,还是的有12306的图集数据及录入对应的文字 , 12306吧图片基本模糊化处理,如果不录入原图,智能识别中的数据挖掘 挖掘不到这种模糊图片是正常的 . 不说了. 自己动手吧
想要nodejs代码 +275867689
- nodejs破解12306心得
- nodejs心得
- nodejs破解验证码
- Github、NodeJS使用心得
- nodejs初写心得
- nodejs安装使用心得
- nodejs初写心得
- NodeJS mysql2 使用心得
- nodejs初写心得
- 破解Device Monitor心得
- apk破解心得
- CutOut 4破解心得
- keil4 破解心得
- 破解游戏苹果机最强心得
- spoonwep破解方式使用心得
- 关于myeclipse10.6破解心得
- [心得记录] MongoDB+nodejs(mac 环境)
- XP用户密码破解心得与经验
- SpringBoot快速入门,不继承SpringBoot父依赖项目
- Java利用System.getProperty("file.encoding")获取编码分析
- SQL语法——视图创建
- SVN
- 我来了,哈哈
- nodejs破解12306心得
- 关于BuildNumberIncreaser.dll注册的问题
- python 赋值、浅拷贝与深拷贝
- JavaScript 继承代码中,B.prototype = new A(); 的含义是什么?[转自知乎] 需要多回味
- 时间格式、比较等(1)
- Linux环境下mysql数据库定时备份
- Java-泛型
- 点击按钮后台生成桌面快捷方式
- 友盟分享本地图片到微信无法调起微信解决方案