glidedsky挑战-字体反爬

先推荐一个爬虫工程自我检验网站。http://glidedsky.com/

相应页面(http://glidedsky.com/level/crawler-font-puzzle-1):

题目要求:

glidedsky挑战-字体反爬_第1张图片

 

再看看页面:

glidedsky挑战-字体反爬_第2张图片

 

很明显,当我们通过请求时,页面压根就不对,其实这里已经把数据隐藏了。

 

说说解决思路吧:

  1. 找到字体文件
  2. 通过数字,找到字体中对应的规则
  3. 拼接数字

 

  • 找到字体文件

glidedsky挑战-字体反爬_第3张图片

找到文件后,进行下载,(注意,每一次访问的字体文件都不同)

 

  • 通过数字,找到字体中对应的规则,拼接数字

这时,我们可以通过 High-Logic FontCreator 程序进行打开字体库。如下图:

glidedsky挑战-字体反爬_第4张图片

 

通过上图,是不是感觉很简单啊。

 

那么,知道规律了,我们是不是可以通过,程序去实现。

应于网站要求,这里只说思路,不提供代码。

1、需要用的重要库。

import requests  
from bs4 import BeautifulSoup
from fontTools.ttLib import TTFont  #用于加载字体文件
import re

2、访问页面,获取规则数据。

3、访问页面,下载字体文件。

4、加载字体文件。

5、根据规则数据,解析出字体文件中的数据。

6、拼接数字,并转为int类型的数字,用于求和。

7、计算出一个页面的和,记录下来,继续第2个步骤。

 

 

再说明一点,因为每次请求的页面不同,所以字体文件要及时使用。

 

 

 

 

 

 

 

 

你可能感兴趣的:(反爬虫)