python爬虫: 使用knn算法破解猫眼动态字体反爬
猫眼字体反爬
动态变化的字形使用阈值判断误差率较大,甚至看到有的老哥使用ocr去搞…,大概两个月前,第一次看到有大佬使用knn算法搞字体反爬(源码地址),听说效果不错,一直没有时间去尝试,不仅仅是没有时间,对于未知领域特别是机器学习,不知道从何搞起,但是遇到问题总得解决,今天逼着自己去搞
knn算法介绍
如果一个样本在特征空间中的k个最相似的样本中的大多数属于某一个类别,则该样本也属于这个类别
举个例子,你可以通过观察某位老哥交往的朋友,大概能了解到这个老哥是什么样的人,毕竟物以类聚,人以群分
具体实现流程
- 获取n套字体文件(越多越好),然后将所有字符对应的字形坐标信息保存到一个列表当中(注意做好字符与字形坐标的对应关系)
- 使用knn算法训练数据, 通常情况下,拿到样本数据,先进行缺失值处理,然后取出特征值和目标值,再对样本数据进行分割,分为训练集和测试集,然后再对样本数据进行标准化处理,最后进行训练预测, 由于采集的字体数据不多(偷个懒,大家别学我),如果按随机分割的方式,训练集容易缺失某些字符,导致预测测试集的结果误差率较大,所以在此固定前40个样本为训练集,最后10个样本为测试集合,另外,多次测试发现,此处进行标准化,会影响成功率,所以不采用,另外k值取1, 也就是说,我判定当前样本跟离它最近的那个样本属于同一类型,即同一个字符,这个值取多少合适经过调试才知道,最后预测10个样本,包含了0-9 10个字符,成功率为100%
可以写个类
- 获取一套字体,然后使用训练模型预测数据,拿到预测结果,还原网页内容,解析网页
- 比对一下结果,都是对的哈,反爬工程师又要失眠了。。。
最后
本文只讲字体反爬破解思路, 其他问题自行处理
虽然跟那位大佬一样都是用的knn算法,但是我使用的是sklearn这个库来实现的
码文不易,感谢微信打赏支持
源码地址
本人公众号不定期分享js/安卓逆向教程,感兴趣的可以关注一下!
python爬虫: 使用knn算法破解猫眼动态字体反爬相关推荐
- python爬虫进阶-大众点评店铺信息(字体反爬-静态映射)
目的 获取大众点评店铺信息 详细需求 http://www.dianping.com/shenzhen/ch10 思路解析 一 通过F12查找目标信息位置,进行分析 同理进行其他信息的解析,分析汇总 ...
- python爬取猫眼遇到动态字体反爬
前一段时间,爬取了58同城,发现当时的网页对数字有字体反爬虫,然后废了九牛二虎之力找到了规律,终于破解了反爬虫,后来发现猫眼的这个网页虽然使用了字体反爬,但是和原来的58同城还是有很大的差别,后来了解 ...
- 猫眼电影字体反爬-自动处理字体加密
猫眼电影字体反爬 我们再爬取猫眼电影的时候,会遇到如下情况: 我们想要其中想看人数的数据,但是在网页源代码中并不是直接显示数字而是这一串东西. 这一串,其实是猫眼本身的一种字体,目的是不想每个人都获取 ...
- 【Python爬虫系列教程 41-100】猫眼电影字体加密破解
文章目录 前言 -- 字体加密 1. 字体文件 1.1 猫眼网站分析 1.2 字体文件分析 2. 代码实现 2.1 字体文件处理 2.2 xml文件解析 2.3 代码实现 前言 – 字体加密 字体 ...
- Python 爬虫工程师必看,深入解读字体反爬虫
字体反爬虫开篇概述 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例的人,却不知道如何去学习更加高深的知识. 那么针对这 ...
- k-近邻算法 解决 动态字体反爬
记录k-近邻算法 解决猫眼电影的字体反爬. 此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉. 文章有一些点没有说的很细.因为我相信能看到这篇文章的你,不通过我的 ...
- pythonttf字体反爬虫_利用Python采集起点中文网小说,并解决字体反爬的问题
个人比较喜欢看小说,于是乎想利用Python爬取小说网站--起点中文网,在Python编程爬取定位过程中遇到了Python反爬虫,咨询了我旁边的前端大神,说下方法 当前页面接口返回的html源码 当前 ...
- Python猫眼电影-字体反爬最新版
从多个猫眼源代码中获取woff文件,从上表分析可以看出相同数字的不同编码的坐标个数是不一样了,网上以前的代码是不能用了,所以很苦恼该怎么办. 从这篇中https://blog.csdn.net/qq_ ...
- 小白也可以看会的破解抖音字体反爬
现在的网站,处处都是反爬,我们这些爬虫的经常需要和他们斗智斗勇,就看谁更厉害.这不,就连字体也弄成了反爬,而且还不止一个网站,常见的就有猫眼和汽车之家.不过,字体反爬也没有用,毕竟我们会破!哈哈. 抖 ...
最新文章
- Java反射到底慢在哪?
- 201521123092《java程序设计》第九周学习总结
- 微软:明明修复了Bug,你们还把我骂上热搜?
- python删除字符串中的字母_在Python中删除字符串中的大写字母
- jquery替换节点
- 超定方程组的经典Gram-Schmidt正交化解法
- 鸿蒙升级最佳时间,鸿蒙升级时间确定,17款华为优先,荣耀或成遗珠!
- GBDT算法原理以及实例理解(含Python代码简单实现版)
- 有限差分法及matlab实现,有限差分法与matlab实现
- 计算机附件常用工具,Windows附件常用工具
- 代码实证:风险平价及其改进思路——主成分风险平价
- windows控制面板卸载程序失败(等待。。。)
- 【经典】双子男与天蝎女的爱情故事
- 多媒体计算机的核心,多媒体计算机系统的核心
- 中南大学python试卷_中南大学考研常见问题汇总
- 告别下载速度慢!Docker配置阿里云镜像仓库
- 微金所项目-响应式开发文档
- sublime用浏览器打开方法
- 模拟苹果验证服务器,[原创]苹果 gsa 服务器login 算法
- macbook系统占用硬盘大_mac book pro 系统占用的硬盘空间太大怎么办?