跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI

用 Python 处理番茄小说的字体加密内容

番茄小说这类页面会把正文做成字体加密,HTML 里拿到的是私有区字符,不能直接阅读。处理方式是先定位 `.woff` 或 `.woff2` 字体文件,把字体中的码点渲染成图片,再用 OCR 识别并生成“码点到真实文字”的映射表,最后用映射替换抓到的乱码文本。文章同时说明了请求抓取、目录页提取章节链接、按章节 id 循环下载,以及用 `ddddocr` 时建议搭配 Python 3.10/3.11。

栈溢出发布于 2026/6/30更新于 2026/7/2715 浏览

一、问题是什么

不少小说站会把正文做成字体加密。番茄小说这类页面里,HTML 源码拿到手的往往不是正常汉字,而是一串看起来像乱码的私有区字符。直接解析页面当然不行,得先把字体映射关系还原出来。

这类需求里,难点不在请求本身,而在'把字认回来'。

二、处理思路

爬虫部分还是老一套:发请求、带上合适的请求头、拿到页面内容。真正要处理的是字体文件。

我这里的做法比较直接:

  1. 先在页面里找到自定义字体文件,通常是 .woff 或 .woff2
  2. 把字体里的每个码点渲染成黑白图
  3. 用 OCR 识别图里的真实文字
  4. 生成一份'字体码点 → 真实文字'的映射表
  5. 再用这份映射去替换页面里抓到的乱码

这条路不算优雅,但够实用。字体更新频率不高时,维护成本也还能接受。

三、环境准备

需要的 Python 依赖不多,重点是 OCR 和字体处理相关的库。

ddddocr 建议搭配 Python 3.10 或 3.11 使用,版本太老或太新都可能在依赖上多出一些杂活。

四、代码实现

1. 生成字体映射

先写一个字体渲染函数,把单个 Unicode 码点转成一张高对比度图片,方便后面的 OCR 识别。

2. 识别字体并构建字典

接着遍历字体中的字符,逐个渲染、识别,最后整理成映射字典。这个过程里,识别结果不一定一次就准,实际用的时候最好留个校验入口,别把错字静默写进结果里。

3. 获取字体文件

下载到本地的 .woff 文件,放在 Python 脚本同目录下就行。需要查看字体结构时,可以借助 FontCreator 之类的工具。

五、爬取正文

页面里通常只能先拿到第一章。继续往后翻时,番茄小说的'下一章'按钮是 button,没有直接可用的 href,所以更稳的办法还是回目录页提取链接。

分析后会发现,章节链接里的差异主要是数字 id。把这些 id 提出来,循环请求,就能把章节列表顺着抓下来。

然后就是正文替换:先拿到加密文本,再用前面生成的 mapping 做替换,页面里的私有区字符就会恢复成可读内容。

下面这部分就是爬取加密章节内容的主体逻辑,数量可以按需要调整。

六、完整脚本

把字体映射获取和正文抓取两部分拼起来,就能完成整套自动化流程。实际跑的时候,我会先确认字体文件有没有变化,再决定要不要重新生成映射;这一步省不了,跳过去很容易得到一份看着像'成功'、其实全是错字的结果。

目录

  1. 一、问题是什么
  2. 二、处理思路
  3. 三、环境准备
  4. 四、代码实现
  5. 1. 生成字体映射
  6. 2. 识别字体并构建字典
  7. 3. 获取字体文件
  8. 五、爬取正文
  9. 六、完整脚本
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 国内主流 AI 工具横评:豆包、元宝、千问等七款深度对比
  • Windows OpenCode Desktop App 配置 Azure 模型及 oh-my-opencode、Superpowers 插件安装
  • 向日葵连接 Ubuntu 22.04 黑屏解决方案
  • Python 金融数据获取:问财 API 全解析与实战
  • Cesium 无人机智能航线规划:航点动作组与 AI 识别实战
  • DeepSeek-R1 大模型基于 MS-Swift 框架的部署、推理与微调实践
  • AI 辅助钱包开发:生成 imToken 生态合约交互与监控脚本
  • baoyu-skills:AI 辅助技术文章配图与排版工具推荐
  • GitHub Codespaces 部署 OpenClaw 个人智能体指南
  • 鸿蒙 ArkTS 与 Java 跨平台 Socket 通信实战
  • Vheer:免费免登录 AI 绘画与视频生成工具
  • AIOps 实践:使用 Dify+LangBot 搭建飞书智能体机器人
  • Python FastAPI 入门教程:新手快速上手指南
  • uv 精准指定 Python 版本的方法与实践
  • SpringBoot 项目整合 OpenFeign 启动失败及运行时常见错误总结
  • OpenCode 集成 Kimi K2.5 配置指南
  • PPO 论文深度解读:近端策略优化算法原理与实践
  • 5 天掌握 RAG 技术核心与实战路线图
  • 具身导航 VLN 前沿论文汇总(2023-2026)
  • DFT 中的 On-Chip Clock Controller (OCC) 架构设计与插入规则

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online