如何通过Python实现字体反爬,解析月票数案例分享?

2026-06-11 00:2510阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计408个文字,预计阅读时间需要2分钟。

如何通过Python实现字体反爬,解析月票数案例分享?

@[toc] 📚 实操起点:本次要采集的目标站点为 https://Python脱敏处理.qidian.Python脱敏处理/rank/yuepiao/。月票榜单的数字为特殊字体,且 class 看起来像是一个加密字符串。测试后发现,字 特殊字体为加密字符。

@[toc]

⛳️ 实战起点

本次要采集的目标站点为 Python脱敏处理.qidian.Python脱敏处理/rank/yuepiao/。月票榜单的数字为特殊字体,并且 class 看起来为一个加密字符串。

测试之后发现,字体样式恰好是字体文件名称,并且每次刷新都会发生变化。下载字体矢量图之后,查看编码发现只是简单的中英文对照关系。

字体矢量图解析就非常简单了,下面我们优先获取字体文件。

⛳️ 实战编码

接下来获取网页源码,然后尝试提取其中的字体文件。

import re import requests base_url = 'www.qidian.com/rank/yuepiao' headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36', 'Host': 'www.qidian.com' } response = requests.get(base_url, headers=headers) # print(response.text) font_url = re.findall(r"\); src: url\('(.*?)'\) format\('woff'\)", response.text)[0] print(font_url)

得到的字体文件如下所示。

qidian.gtimg.com/qd_anti_spider/wWZgjsqu.woff

其实到这里本案例已经结束了,当你获取到字体文件只有,可以对其进行存储与解析。

如何通过Python实现字体反爬,解析月票数案例分享?

from fontTools.ttLib import TTFont import io res_font = requests.get(font_url) font = TTFont(io.BytesIO(res_font.content)) print(font) # 编码对应关系 font_cmap = font.getBestCmap() print(font_cmap)

本文共计408个文字,预计阅读时间需要2分钟。

如何通过Python实现字体反爬,解析月票数案例分享?

@[toc] 📚 实操起点:本次要采集的目标站点为 https://Python脱敏处理.qidian.Python脱敏处理/rank/yuepiao/。月票榜单的数字为特殊字体,且 class 看起来像是一个加密字符串。测试后发现,字 特殊字体为加密字符。

@[toc]

⛳️ 实战起点

本次要采集的目标站点为 Python脱敏处理.qidian.Python脱敏处理/rank/yuepiao/。月票榜单的数字为特殊字体,并且 class 看起来为一个加密字符串。

测试之后发现,字体样式恰好是字体文件名称,并且每次刷新都会发生变化。下载字体矢量图之后,查看编码发现只是简单的中英文对照关系。

字体矢量图解析就非常简单了,下面我们优先获取字体文件。

⛳️ 实战编码

接下来获取网页源码,然后尝试提取其中的字体文件。

import re import requests base_url = 'www.qidian.com/rank/yuepiao' headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36', 'Host': 'www.qidian.com' } response = requests.get(base_url, headers=headers) # print(response.text) font_url = re.findall(r"\); src: url\('(.*?)'\) format\('woff'\)", response.text)[0] print(font_url)

得到的字体文件如下所示。

qidian.gtimg.com/qd_anti_spider/wWZgjsqu.woff

其实到这里本案例已经结束了,当你获取到字体文件只有,可以对其进行存储与解析。

如何通过Python实现字体反爬,解析月票数案例分享?

from fontTools.ttLib import TTFont import io res_font = requests.get(font_url) font = TTFont(io.BytesIO(res_font.content)) print(font) # 编码对应关系 font_cmap = font.getBestCmap() print(font_cmap)