Python爬虫编程12——字体反爬

什么是字体反爬

就是网页的制作者,他在发布他网页数据的时候。将其中一部分的字体变成乱码。即使你把网页的数据爬取下来,你也获取不到真实数据的样貌。这样就达到了一个反爬虫的目的。

如何解决字体反爬

1.下载.ttf文件;

2.将.ttf文件转换成xml文件;

3.分析字体规律找到映射关系。

就是找到字体文件,发现替换关系,将爬取下来的数据替换的过程。

如何找到字体文件

1.定位到进行了字体反爬的位置,在对应的styles里面找到font-family;

2.复制font-family里面的值,去网页源码里面搜索;

3.在搜索结果的附近,找到 xxx.ttf 这样的url进行下载;

4.把下载好的 ttf文件用High-Logic FontCreator打开;

5.用python查看ttf文件

from fontTools.ttLib import TTFont
from lxml import etree
from tools import get_js
import requests

sz = TTFont('szec.ttf')
# 加载字体文件 保存成xml格式的文件
# 我们发现通过字体软件打开的里面 能够看到name和code-points属性
# 通过python保存的xml文件中的cmap标签中 能看到name和code属性
# 两者之间包含某种对应关系
# sz.saveXML('sz.xml')


# print(sz.getBestCmap())

6.找到所对应的关系,将爬取的数据替换。

7.当需要识别图片的时候,对于简单的图片可以使用tesseract,复杂的使用打码平台。

练习网站:

闪职——首页 (spbeen.com)

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值