什么是字体反爬

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

如何解决字体反爬

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

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

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

练习网站:

闪职——首页 (spbeen.com)

Python爬虫编程12——字体反爬相关推荐

  1. Python爬虫六:字体反爬处理(猫眼+汽车之家)-2018.10

    环境:Windows7 +Python3.6+Pycharm2017 目标:猫眼电影票房.汽车之家字体反爬的处理 ---全部文章: 京东爬虫 .链家爬虫.美团爬虫.微信公众号爬虫.字体反爬.Djang ...

  2. Python爬虫编程11——JS反爬

    环境搭建 安装node.js 下载网站:Download | Node.jshttps://nodejs.org/en/download/ 参考网站:Node.js安装与环境配置_各自安好.的博客-C ...

  3. Python爬虫:猫眼电影反爬—动态字体处理(2020)

    2020年5月25日更新,在爬了几百条后发现,有少部分数据会出错,出错概率很小.目前推测其原因是因为欧氏距离在对于(-1,0)和(0,1)这种数据计算结果差异不大的原因.有精度需求的建议改用别的距离计 ...

  4. Python爬虫入门教程 64-100 反爬教科书级别的网站-汽车之家,字体反爬之二

    文章目录 说说这个网站 今天要爬去的网页 反爬措施展示 爬取关键信息 找关键因素 处理汽车参数 关键字破解 入库操作 小扩展:格式化JS 思路汇总 关注公众账号 说说这个网站 汽车之家,反爬神一般的存 ...

  5. 一次Python爬虫实战,解决反爬问题!

    人生苦短,快学Python! 随着互联网的发展,Python的崛起,很多网站经常被外面的爬虫程序骚扰,有什么方法可以阻止爬虫吗? 阻止爬虫也就称之为反爬虫,反爬虫涉及到的技术比较综合,说简单也简单,说 ...

  6. Python爬虫:常见的反爬

    常见的反爬 爬虫流程 确定爬虫对象(爬哪个网页的数据) 找接口 有接口:直接对接口发送请求 成功(直接json解析) 失败就进入下一步 没有接口,直接进入下一步 用requests直接对网页地址发送请 ...

  7. python读取ttf_python解析字体反爬

    爬取一些网站的信息时,偶尔会碰到这样一种情况:网页浏览显示是正常的,用python爬取下来是乱码,F12用开发者模式查看网页源代码也是乱码.这种一般是网站设置了字体反爬 一.58同城 用谷歌浏览器打开 ...

  8. 爬虫 人人车字体反爬分析(含源码)

    严重声明:本文仅用于学习交流,不得用于商业用途,同时希望大家遵循robots协议,维护网络和谐. 本猿最近在逛一些网站的时间.在打开浏览器的f12查看人家前端代码咋写的时候,经常会发现就是页面上显示的 ...

  9. 爬虫逆向之字体反爬(二)、镀金的天空-字体反爬-2

    趁热打铁来写字体反爬的第二篇,首先是题目 网页上显示的不是常规的数字,源码里面也是一些汉字 虽然看上去很乱,但是仔细观察还是能发现一些规律,比如:长 对应 2,思对应 1 所以这里的解题思路,也是先找 ...

最新文章

  1. mysql分组失效_请教MySql中使用表子查询时,试着先排序后分组,出现排序失效的原因?...
  2. 学好python需要哪些基础_学Python要避免哪些坑,如何巩固好基础
  3. Spring Security系列之Spring Social实现微信社交登录(九)
  4. linux文件描述符有什么用,linux上的文件描述符3有什么特别之处?
  5. 原生js循环展示dom_为什么说JS的DOM操作很耗性能
  6. 实战 | F1060路由模式ISIS典型组网配置案例
  7. [转]window.location方法获取URL及window.location.assign(url)和replace(url)区别
  8. 搞深度学习框架的那帮人,不是疯子,就是骗子
  9. 软件工程概论 课堂练习【用例图——门诊挂号】
  10. 关于水滴舆情监测、服务项目特点介绍
  11. spring事务和加可重入锁解决库存超卖遇到的问题
  12. OpenG数组讲解之Remove Duplicates from 1D Array.vi
  13. 如何准确获取地点位置的经纬度?
  14. 利用费马小定理进行素性测试
  15. java设计模式之-策略模式
  16. 牛客 F - 爬塔 (分组背包)
  17. 开源数库最佳实践-「3306π」社区北京站
  18. python xlsx表格最大行最大列
  19. 新版2022高仿QQ,利用Java swing1:1模仿qq编写的聊天程序
  20. 详解变分自编码器VAE(Variational Auto-Encoder)

热门文章

  1. Python爬虫工程师需要掌握哪些技术?
  2. 国外新闻网站推新赢利模式 靠新闻撰稿人吸钱
  3. [置顶] 我的私房IT学习网站
  4. 2022年劳务员-通用基础(劳务员)考试模拟100题及在线模拟考试
  5. android studio ant编译,Android Studio编译cocos2dx项目
  6. vs2010 opencv 视频抓图
  7. poj1742 - Coins
  8. 50个最佳物理学博客
  9. Win10 C盘 系统和保留 占用空间 非常大
  10. [转] 理解各种熵最大熵模型