字体反爬虫,python反反爬虫
本文主要介绍python字体反爬的实战案例分享。文章基于Python的相关资料,利用实习X现场的实战案例,有一定的参考价值,有需要的小伙伴可以参考一下。
00-1010实战场景实战编码
目录
这个博客研究字体抓取。涉案站点为实习X,目标站点地址可直接百度搜索。
可以看到右边的源代码中有很多“乱码”,里面包含了关键信息。
接下来按照常规的套路,在开发者工具里搜索字体相关的信息,但是过滤后得到的不是向后爬的字体,只有一个文件?有一点点可能性。
这是一个新鲜的场景。如果判断不准确,只能通过字体样式和字体标签名称来判断。
在网页源代码中搜索@font-face和myFont,得到以下内容。这里发现文件字体又出现了。看来解决问题的关键已经出现了。
下载文件名后发现没有后缀。我们可以加上后缀。ttf,然后将它拖到FontCreator,中,然后进行查找。
第二次刷新页面后,再次获取一个file文件,检查两者之间是否有编码变化。
每次结论:请求字体文件时,响应都是不变的。
由于没有变化,后续的字体防爬实际编码就变得简单了。
实战场景
解析字体文件以获得代码和字符。
从fontTools.ttLib导入TTFont
font1=TTFont(。/fonts/file . TTF’)
键,值=[],[]
对于k,在font1.getBestCmap()中的v。物品():
打印(k,v)
得到的结果如下所示:
post.stringData数组中的2个额外字节
120 x
57345 uni4E00
57360 uni77
57403 uni56
……
那么我们来看看和尚站点返回的数据。
# xf 626 # xf 395 # xf 395-# xf 043 # xf 395 # xf 395
这涉及到编码的转换。
我们拿到一段带编码的文字,如下所示:
# xe B3 # xe4d 0 # xe4d 0 # xe B3 # xe12a # xeb3d销售实习#xe595
接下来,看看页面上显示的文本。
软件SaaS实习生
其中#xedb3对应于S字符,在字体文件中查看这个字符的编码,如下所示。
但是从刚才的结果来看,并没有得到edb3的相关值,而是经过了十进制码的转换,得到了下面的结果。
关于分享Python字体反抓取真实案例的这篇文章到此为止。关于Python字体反抓取的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。