字体反爬虫,python反反爬虫

  字体反爬虫,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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: