【媳妇当车模频道】汽车字体反爬一键解决,之家之家,2022.5.27更新

网友投稿 260 2022-09-01


【媳妇当车模频道】汽车字体反爬一键解决,之家之家,2022.5.27更新

⛳️ 汽车 实战场景 之家

本次要采集的案例是字体反爬经典场景,而且是国内较早使用字体反爬的站点,字体反爬的学习可以反复琢磨这个站点。

这一次选择了一个养眼的频道进行采集,测试地址可以打开下述网址。

字体加密反爬编码时间

由于通过开发者工具查看字符都是下述符号 ,那只能通过 requests 模块进行一下数据的采集,查看代码情况。

import requests from lxml import etree headers = { "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36", "Referer": "https://club.autohome.com.cn" } res = requests.get('headers=headers) tree = etree.HTML(res.text) ret = tree.xpath('//div[@class="tz-paragraph"]//text()') print(ret)

\ude9e:一; \ued4e:了; ……

这些编码都可以转换为字体文件中的编码,我们尝试读取一下。

from fontTools.ttLib import TTFont import io file_woff = './fonts/wKgHGFsUz1OAZg_zAABj9FfA3vw19..ttf' with open(file_woff, 'rb') as font_file: font = TTFont(io.BytesIO(font_file.read())) # 转换成字体对象 print(font) font_obj = font['cmap'] font_tables = font['cmap'].tables uni_list = font['cmap'].tables[0].ttFont.getGlyphOrder() # ['.notdef', 'uniED4C', 'uniED9E', 'uniECEB', 'uniEC37', 'uniEC89', 'uniEDCA', 'uniEC28', 'uniED68', 'uniECB5', 'uniED07', 'uniEC53', 'uniED94', 'uniEDE6', 'uniED32', 'uniED84', 'uniECD1', 'uniEC1D', 'uniEC6F', 'uniEDB0', 'uniECFC', 'un # iED4E', 'uniEC9B', 'uniECED', 'uniEC39', 'uniED7A', 'uniEDCC', 'uniED18', 'uniEC65', 'uniECB7', 'uniEDF7', 'uniEC55', 'uniED96', 'uniECE2', 'uniED34', 'uniEC81', 'uniEDC1', 'uniEC1F', 'uniED60'] print(uni_list)

from fontTools.ttLib import TTFont from PIL import ImageFont, Image, ImageDraw # 图片宽度和高度 img_size = 512 font_img = ImageFont.truetype(file_woff, 300) for cmap_code, glyph_name in font.getBestCmap().items(): # print(cmap_code,glyph_name) # 实例化一个图片对象 img = Image.new('1', (img_size, img_size), 255) # 绘制图片 draw = ImageDraw.Draw(img) # 将编码读取成字节 txt = chr(cmap_code) x, y = draw.textsize(txt, font=font_img) draw.text(((img_size - x) // 2, (img_size - y) // 2), txt, font=font_img, fill=0) img.show()


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:# yyds干货盘点 # 盘点一个`07Apr2022`格式日期转换的基础题目
下一篇:Java基本数据类型族谱与易错点梳理解析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~