广州去除烧伤烧伤疤痕好的医院

  爬虫与反爬虫直对天生对手,反爬手段多种多样,破解手段也应运而生。

  本文主要介绍种利用前端页面自定义字体方式来实现反爬技术手段,并实践如何技术上破解。(期间多次掉坑,拼接顽强毅力,仍然坚强走出来。)

  自定义字体:@font-faceCSS中个模块,主要实现将自定义Web字体嵌入到指定网页中去。具体详细定义见。

  汽车之家论坛抒大车友爱好者集聚地,大家分享买车、选车、开车、自驾游等个人经历。我们尝试爬取些用户热门精华帖子内容,初始访问似乎并没有什么特别,直到我们发现下往示。这里页面显示很正衬文字,但在网页源码中某些字却段span包裹不可见文本。

  手动拷贝网页文本到Noetepad++,也发现异常。

  上面其实就自定义字体搞鬼※据网页源码中,

  使用自定义myfont字体,我们在网页中查找myfont,很快有发现,这就标准@font-face定义方法。且每次访问,字体文件访问地址都会随机变化。

  我们访问其中ttf文件地址,可将ttf字体文件下载到本地。

  字体文件博大精深,ttf文件其中种,为解析该字体,在没有找到fonttools之前,找很多代码都不能满足我这简单解析需求,差点就准备看ttf规范定义自己编写解析代码∷坑。

  ttf就我们常用字体文件,可以使用系统自带字体查看器查看,但难以看到更多有效信息,我们使用个专用工具Font Creator查看。

  可以看到,这里不再简单数字混淆,而对些中文文字进行重新编码处理。这个字体里有个字(含个空白字),每个字显示其字形和其字形编码∪如上文中第个显示,其编码xEC,我们利用Notepad++查看复制该不可见字符十六进制编码xEEBB,

  两者不样,这怎么回事∷又坑!顿查找,这其实分别unicode编码和utf-编码,

  这样两者关系就对应,我们也知道页面查看正确但读取网页却无法获取文本原因。我们发现,论坛页面每次访问,字体不变,但字符编码变化。因此,我们需要根据每次访问动态解析字体文件。

  接着顿查找,好不容易找到款专门解析fontpython包,fonttools,

  使用下面语句可以获取顺序字符编码值,

  关键点攻破,整个工作就好做。先访问需要爬取页面,获取字体文件动态访问地址并下载字体,读取用户帖子文本内容,替换其中自定义字体编码为实际文本编码,就可复原网页为页面所见内容。

  完整代码如下:

  注意,wordList直接写'',不需要写u'',因为note和utfList[i]均str类型,wordList也应str类型,而不应unicode类型,否则会报错∷再坑。

  、爬虫与诡异字体 ()

  、fonttools源码 ()

  、ttf文件结构解析

  ()

  字体反爬破解实践源代码:,密码:gxf

猜你喜欢

杭铣社区:奶奶们巧手DIY复古包

怀化:集中整治纪检监察系统形式主义、官僚主义问题...

东至:对“打听案情、过问案件、说情干预”严格登记备案

民众创作民众海选《飞越梦想》唱响金鸡百花电影节...

美国加州一酒吧发生枪击事件

[权威发布]国家林业和草原局办公室关于批准筹建国家公园和自然保护地标准化技术委员会、草原标准化技术委员会的通知...

20飞行员解密航展飞行动作

打造“负责任”的人工智能...

“双11”十年电商快递订单进入10亿时代

爱马仕中国市场增长强劲...

获汇丰银行举牌,安徽合力开盘涨停

他的诗歌里,充满对地球和人类本来面目的思念...

年货直采节在韶山开幕

14家星级酒店回应“视频曝光卫生乱象”:部分称正在了解核查...

英国高校加紧吸引中国学生

长兴:统分结合推进村级党组织巡察监督全覆盖...

首批移民大军抵达美墨边境美军严阵以待(图)

亚太地区包容性增长的中国机遇...

10月70城房价出炉:长春吉林微涨一线城市二手房集体下跌

遗失物品两天找寻未果诸城民警半天助力找回...