黑客24小时在线接单的网站

黑客24小时在线接单的网站

字体反爬虫的原理和破解方法

大家好,我是志斌~

之前给大家介绍了一种SVG今天,我想介绍另一种通过映射关系反爬虫的方法。

我不知道你是否遇到过这种情况。在编写爬虫程序之前,我们需要观察目标数据,但当我们观察时,我们发现目标数据以这种奇怪的方式出现在网页上。

这种反爬虫是字体反爬虫。今天,志斌将与大家分享如何绕过这种反爬虫。

一、原理

在此之前,网站开发者只能使用公共字体来显示网页中的数据。

但是,随着CSS样式的深入开发,网站开发者可以将自己的字体放到服务器中。当用户在访问Web浏览器自动将相应的字体下载到用户的计算机中,然后通过界面CSS调用风格。

之后,网页中的源数据通过映射关系变成真实数据进行显示。

这样,当网站开发者设计网页时,他们只需要使用特殊的字符来占据位置,而不需要将真实的数据放入页面。这样,如果爬虫程序不知道这种映射关系,就无法从字体中获得正确的数据,从而实现反爬虫。

二、破解

破解这种字体反爬虫有以下步骤。

1.下载字体woff文件

从上面我们知道,字体存储在服务器上,并通过浏览器下载到我们的计算机上,然后我们可以在网站上找到加载的字体文件并下载。

下载后,打开它进行观察。在这里,我将与您分享一个单击字体编译器网站。打开它很方便woff文件。http://font.qqe2.com/index-en.html。

打开字体文件后,我们发现每个数字对应一个字符串,如7对应$E9C7。

2.寻找映射关系

通过比较源网页中的占位数据和字体,我们发现源数据中的占位数据&#x替换成$,然后将字符串首字母大写成字体对应的字符串。

3.构建映射算法

我们已经找到了字体之间的映射关系,所以我们现在可以开始使用了Python构建映射算法,使爬虫能够获得正确的数据。

构建代码如下:

  • data={
  • '&#xe9c7':7,
  • '&#xf57b':1,
  • '&#xe7df':2,
  • '&#xe339':6,
  • '&#xe624':9,
  • '&#xea16':5,
  • '&#xf19a':3,
  • '&#xee76':0,
  • '&#xf593':4,
  • '&#xefd4':8,
  • }
  • 之后,我们可以爬取网页,然后将相应的源数据与data例如,以获得正确的数据。

    三、小结

    1. 本文详细介绍了如何破解字体反爬虫,因为使用了这种反爬虫CSS因此,即使使用一些自动化软件或渲染工具,也无法获得真实数据。

    2. 这种反爬虫的破解只需要woff找到文件中字体与页面数据之间的对应关系,并建立它。

    3. 找到woff下载文件是关键。

    4. 有兴趣的读者可以找志斌自己试试网站。

    5. 本文仅供学习参考,不用于学习。

       
    • 评论列表:
    •  世味胭话
       发布于 2022-05-30 16:01:40  回复该评论
    • 深入开发,网站开发者可以将自己的字体放到服务器中。当用户在访问Web浏览器自动将相应的字体下载到用户的计算机中,然后通过界面CSS调用风格。之后,网页中的源数据通过映射关系变成真实数据进行

    发表评论:

    Powered By

    Copyright Your WebSite.Some Rights Reserved.