先推荐一个爬虫工程自我检验网站。http://glidedsky.com/
相应页面(http://glidedsky.com/level/crawler-font-puzzle-1):
题目要求:
再看看页面:
很明显,当我们通过请求时,页面压根就不对,其实这里已经把数据隐藏了。
说说解决思路吧:
- 找到字体文件
- 通过数字,找到字体中对应的规则
- 拼接数字
- 找到字体文件
找到文件后,进行下载,(注意,每一次访问的字体文件都不同)
- 通过数字,找到字体中对应的规则,拼接数字
这时,我们可以通过 High-Logic FontCreator 程序进行打开字体库。如下图:
通过上图,是不是感觉很简单啊。
那么,知道规律了,我们是不是可以通过,程序去实现。
应于网站要求,这里只说思路,不提供代码。
1、需要用的重要库。
import requests
from bs4 import BeautifulSoup
from fontTools.ttLib import TTFont #用于加载字体文件
import re
2、访问页面,获取规则数据。
3、访问页面,下载字体文件。
4、加载字体文件。
5、根据规则数据,解析出字体文件中的数据。
6、拼接数字,并转为int类型的数字,用于求和。
7、计算出一个页面的和,记录下来,继续第2个步骤。
再说明一点,因为每次请求的页面不同,所以字体文件要及时使用。