美文网首页
Python字体反爬

Python字体反爬

作者: 叶儿爱琵琶 | 来源:发表于2018-12-13 00:15 被阅读0次

前些日子,爬取起点中文网的过程中,发现代码没有错,是根据书上的教程来的,结果爬下的小说字数不对,百思不得其解。
百度了一下终于知道这是反爬虫。
首先来看一下反爬虫的概念:

网络爬虫,是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。
但是当网络爬虫被滥用后,互联网上就出现太多同质的东西,原创得不到保护。
于是,很多网站开始反网络爬虫,想方设法保护自己的内容。
他们根据ip访问频率,浏览网页速度,账户登录,输入验证码,flash封装,ajax混淆,js加密,图片,css混淆等五花八门的技术,来对反网络爬虫。
防的一方不惜工本,迫使抓的一方在考虑成本效益后放弃
抓的一方不惜工本,防的一方在考虑用户流失后放弃
参考: 美国高级情报官员透露,美国国家安全局前雇员斯诺登仅仅是利用普通的网络爬虫软件(Webcrawler),从国安局网络里面截取大量的机密文件与资料.
反网络爬虫:越来越成为一种新的行业

反爬虫概念 。(词条来自百度百科!)
由此可以判断是对面的网站做的反爬虫措施了,通过百度知道这是字体反爬虫。什么叫字体反爬虫?

字体反爬虫:在网页中的关键部分中采用自定义的字体来显示,防止爬虫爬取到关键信息。
采用自定义字体文件是CSS3特性,可参考CSS3字体

这是网友的见解。(ps:比我高明多了)
字体反爬也就是自定义字体反爬,通过调用自定义的ttf文件来渲染网页中的文字,而网页中的文字不再是文字,而是相应的字体编码,通过复制或者简单的采集是无法采集到编码后的文字内容!

总结字体反爬虫有三种方法:请让我一一道来:

  1. 自定义字体文件。字的在字体文件中的编码固定不变,唯一对应。这样爬虫采集到信息在关键处就会显示乱码。
    别以为万事大吉了,破解这可是小菜一碟。(当初拦了我一个星期/哭脸)

破解之道:通过fonttools(python工具)将ttf文件转成ttx文件打开后,就可以看到编码与字的对应关系,然后嘛,就把网页中的乱码部分的“编码”替换成对应的字。大功告成了!

  1. 好吧,你利害 ,那我再升级就是了。让字的编码随机变化,但字体信息不变,浏览器渲染出来的字还能正常显示,同时每个网页加载时都随机自带一套字体。这样,每个字的编码顺序都是变化的,就无法用替换的方法来解决了。
千万别得意,这样的方法也不是万能的!虽然我们打乱了关键字的编码顺序,但是每个字对应的字体信息是不变的,字体中的字的每一笔划都有相应的x、y坐标信息,浏览器正是根据这些笔划信息渲染出对应的字的,看图: image.png

爬虫先手动下载了一个ttf文件,然后根据ttf文件中的文字图形位置在爬虫代码中做一个映射,然后使用程序动态获取采集信息,使用fonttools来循环对比本地之前下载的标本中的字体信息,对比一直,那就是某一个字,如此一来,反爬就轻松被破了。

  1. 这样也不是万能的嘛,Python有个库叫Selenium,可以驱动浏览器进行爬取,而且爬取的内容是基于浏览器已经渲染后的结果,这样就不会遇见乱码的情况了。但代价就是驱动浏览器进行爬取比较慢。时间成本就上升了。(已经有朋友成功了)还有就是ocr 识别了(这个只是听说,并不了解,这里就不作阐述。)

PS:本文主要借鉴反爬终极方案总结—字体反爬

如有侵权,请及时联系本人。

相关文章

  • Python字体反爬

    前些日子,爬取起点中文网的过程中,发现代码没有错,是根据书上的教程来的,结果爬下的小说字数不对,百思不得其解。百度...

  • Python爬取猫眼电影:破解字体反爬

    字体反爬 字体反爬也就是自定义字体反爬,通过调用自定义的字体文件来渲染网页中的文字,而网页中的文字不再是文字,而是...

  • Python爬虫实例:爬取猫眼电影——破解字体反爬

    字体反爬 字体反爬也就是自定义字体反爬,通过调用自定义的字体文件来渲染网页中的文字,而网页中的文字不再是文字,而是...

  • Python爬虫杂记 - 字体文件反爬(二)

    字体文件反爬 在搞定静态字库反爬之后, 可以解决部分字体文件的反爬, 但动态字文件反爬是解决不掉的。此文章就是为解...

  • Python爬虫——学习字体反爬获取某招聘信息

    网站的反爬措施有很多,例如:js反爬、ip反爬、css反爬、字体反爬、验证码反爬、滑动点击类验证反爬等等,今天我们...

  • 保姆级反爬教学,JS逆向实现字体反爬

    大家好,我是查理~网站的反爬措施有很多,例如:js反爬、ip反爬、css反爬、字体反爬、验证码反爬、滑动点击类验证...

  • 字体反爬

    打开 目标网站,目的是获取图片中的数据 分析可知,除了评论数在html文档中,其他数据都可以从模拟发送ajax请求...

  • 猫眼电影评分爬取(字体反爬)

    最近从大佬那里听说了许多新知识,其中之一就是这个字体反爬。字体反爬是目前比较新的反爬技术,通过将网页中的一些关键信...

  • 关于字体反爬

    难度一:简单的编码替换字体。 解决方法:做成映射表即可难度二:编码替换字体+编码随机。 解决方法:逐个比对x、y、...

  • 字体反爬(数字)

    字体反爬数字篇 爬取一些网站信息时,偶尔会遇到这样一种情况:网页浏览显示是正常的,但是爬取下来是乱码,用浏览器开发...

网友评论

      本文标题:Python字体反爬

      本文链接:https://www.haomeiwen.com/subject/hqymhqtx.html