6

python爬虫-32-python字体反爬,网页看到的和实际下载的不一致(理论)

 1 year ago
source link: https://blog.51cto.com/u_12386780/5398734
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

python爬虫-32-python字体反爬,网页看到的和实际下载的不一致(理论)

原创

开发者自己创建的一种字体,但是恰恰是由于是自己创造的,所以我们查看网页源代码的时候发现是乱码,因为我们系统识别不到。

但是又因为是前端展示,如果将常见的几千个中文重新全部创建一遍,那么每次访问该网站都需要下载十几兆的内容,所以往往只是对于数字,或者一些敏感的字进行重造。

当我们爬取网站过多的时候,是不是会发现一种情况,就是说明明在网页看到了实际的数据,但是当你使用​​python​​爬虫爬取下来之后,数据就变成乱码了,识别不到是什么内容。

比如说我们看到了网页的数据是:价钱:100/元

但是当我们使用​​python​​​爬虫技术获取到该页面的​​html​​代码之后,原来能看到的数据看不到了,是乱码了,且我们通过所有常用的编码格式,都无法识别,这就是这个网站的开发者为了数据保密而自行创建的一种字体。

而我们电脑并没有存储这个字体库,所有无法识别到而导致的乱码,那么我们如果需要将乱码转换成明文,我们首先需要了解下如何创建字体。这是一种什么方法。

2、创建-解析字体

这里我们使用一个软件,名字叫做​​FontCreator​​,这个软件既可以创建字体,也可以解析字体,由于我们主要是解析,那么我们来演示下解析吧;

软件包获取方法:

微信公众号“运维家”后台回复:​​FontCreator​

即可获取该软件的下载地址了;

然后我们一步步安装之后,打开界面如下:

python爬虫-32-python字体反爬,网页看到的和实际下载的不一致(理论)_linux

我们这里选择一个系统自带的字体,看看打开之后是什么样子吧。

首先我们需要知道我们要解析哪个字体库,这里这里我们选择​​C:\Windows\Fonts​​这个目录下的任一文件,因为这里存放的是我们自己电脑的所有字体,选择其一复制到其他位置;

点击​​FontCreator​​​右上角的​​File​​​--​​Open​​,打开我们刚复制的字体库,界面如下:

python爬虫-32-python字体反爬,网页看到的和实际下载的不一致(理论)_linux_02

我们就可以看到有关于这个字体库中,每一个字体的信息。

如果我们想创建一个字体,最简单的方式就是改造已存在的,那就是双击改字体,出现类似界面:

python爬虫-32-python字体反爬,网页看到的和实际下载的不一致(理论)_运维_03

调试其中的锚点,再次保存之后,这个字体就是你独有的了。

3、深层认知

我们通过上面的认知之后,知道了字体是对应网站的开发者为了安全自己创建的字体了,那么我们该如何解决这个问题呢。

这里我们来认识四个概念;

1、字体本身

就是说这个汉字或者数字本身的一个值;

就是说这个汉字的样子是什么,可以简单的理解成一幅画;

3、name

这个汉字在对应字体库中的名字是什么;

4、code

这个汉字的名字,对应的代码是什么;

我们在浏览器页面看到的,展示出来的是字体本身,查看源代码的时候,显示的**code*;

4、常见反爬

有两种方法:

第一:直接生成一个新的字体库,里面的四要素是稳定的,不会产生变化的;

第二:每次请求都随机生成一个新的字体库;

针对第一种方法我们处理的时候比较简单,直接解析好将值自行存储起来即可;

第二种方法就比较复杂了,但是说复杂呢,也不是很复杂,因为四要素中,字体本身、形体、name,这三要素一般都不会变化,变化的仅仅是我们看到的​​code​​,那么我们是不是可以反推出来呢?

本文只是理论知识,下一篇我们来手把手实操一下子。

支持,本文结束,相关内容每日更新。 

更多内容请转至VX公众号 “运维家” ,获取最新文章。

------ “运维家”  ------

------ “运维家”  ------

------ “运维家”  ------

linux系统下,mknodlinux,linux目录写权限,大白菜能安装linux吗,linux系统创建文件的方法,领克linux系统怎么装软件,linux文本定位;

ocr识别linux,linux锚定词尾,linux系统使用记录,u盘有linux镜像文件,应届生不会Linux,linux内核64位,linux自启动管理服务;

linux计算文件夹大小,linux设备名称有哪些,linux能用的虚拟机吗,linux系统进入不了命令行,如何创建kalilinux,linux跟so文件一样吗。

  • 收藏
  • 评论
  • 分享
  • 举报

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK