python使用ttf文件_Python之字体文件TTF“反爬”

[Python] 纯文本查看 复制代码# coding:utf-8[/size][/font][/color][/align]import re

import requests

from lxml import etree

from fontTools.ttLib import TTFont

headers = {

"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 "

"Safari/537.36 "

}

url = 'https://club.autohome.com.cn/bbs/thread/1d0784305887ec3f/72381110-1.html#pvareaid=102410'

# 请求内容

response = requests.get(url, headers=headers)

response_html = response.content.decode('gbk')

# xpath 获取帖子内容

response_xml = etree.HTML(response_html)

content_list = response_xml.xpath('//div[@xname="content"]//div[@class="tz-paragraph"]//text()')

content_str = ''.join(content_list)

print(content_str)

# 获取字体的连接文件

fonts_ = re.search(r",url\('(//.*\.ttf)?'\) format",response_html).group(1)

# 请求字体文件, 字体文件是动态更新的

fonts_url = 'https:'+fonts_

response = requests.get(fonts_url, headers=headers).content

# 讲字体文件保存到本地

with open('fonts.ttf', 'wb') as f:

f.write(response)

# 解析字体库

font = TTFont('fonts.ttf')

# 读取字体的映射关系

uni_list = font['cmap'].tables[0].ttFont.getGlyphOrder()

# 转换格式

utf_list = [eval(r"u'\u" + x[3:] + "'") for x in uni_list[1:]]

# 被替换的字体的列表

word_list = [u'一', u'七', u'三', u'上', u'下', u'不', u'九', u'了', u'二', u'五', u'低', u'八', u'六',

u'十', u'的', u'着', u'近', u'远', u'长', u'右', u'呢', u'和', u'四', u'地', u'坏', u'多',

u'大', u'好', u'小', u'少', u'短', u'矮', u'高', u'左', u'很', u'得', u'是', u'更']

#遍历需要被替换的字符

for i in range(len(utf_list)):

content_str = content_str.replace(utf_list[i], word_list[i])

print (content_str)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TTF字体库是一种常见的TrueType字体库,使用TTF(TrueType Font字体技术来存储和呈现字形。这种字体库由一组文件组成,包括字体定义文件(.ttf),字符映射文件(.cmap)和字体度量文件(.mtx)。TTF字体库提供了丰富的字体样式和设计,使得文字在屏幕上或打印时都能呈现出清晰、平滑的效果。 CSDN,全称为中国软件开发网,是一个致力于为开发者、技术爱好者和创业者提供技术交流和资源共享平台的网站。CSDN上有海量的技术文章、论坛、博客和问答等资源,涵盖了各种编程语言、开发工具和技术领域。作为中国最大的IT社区,CSDN为广大开发者提供了一个学习、交流和分享的平台,使得他们能够方便地获取最新的技术资讯、解决问题和提升自己的技术能力。 在CSDN上,我们可以找到关于TTF字体库的各种信息和资源。有很多开发者在CSDN上分享了自己对TTF字体库的使用经验、技巧和实例代码。此外,CSDN上还有一些教程、视频和课程,帮助开发者了解和掌握TTF字体库的基本原理和使用方法。通过在CSDN上搜索和浏览相关的文章和帖子,我们可以深入了解TTF字体库的功能和特性,并进行实际的应用和开发。 总而言之,TTF字体库是一种常用的字体技术,而CSDN为开发者提供了一个丰富的学习和交流平台。通过在CSDN上查找相关的文章和资源,我们可以更好地了解和应用TTF字体库,提升自己的技术能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值