偶然间知道到了字体反爬这个东西, 所以决定了解一下.

目标: https://maoyan.com/board/1

问题:类似下图中的票房数字无法获取, 直接复制粘贴的话会显示 □ 等无法识别的字符, 且网页源码中该类数字均被 . 之类的字符串代替.

解决:

出现这种情况的原因是因为网页字体是在 CSS3 @font-face 规则中定义的, 我觉得这种字体就类似描点连线那种方式绘制出来的.

因为定义规则是动态随机获取的, 不能保证每次都是一个字体文件.

如下:

可以看到, 同一数字所对应的字符是不一样的, 所以我们也就动态下载实时字体文件, 具体分析.

虽然每次对应的字符可能不一样, 但是可以发现同一数字的字形是一样的, 也就是"描点的坐标"应该相同.

事实证明在这个例子中是确实如此.

如下:

同一数字对象里的这些值是一样的.

既然找到问题所在和规律了, 就可以直接开始写代码了.

代码里loc.woff文件是先下载好的, 通过它找到数字和"描点坐标"之间的对应关系. 这个文件大家可以自己提前下载, 并且手动找到对应关系.

这里也提供了我下载的loc.woff文件,https://github.com/ysl125963/maoyan, 里面的font.xml文件就是通过saveXML()方法得到的, 可以看到字体文件的具体结构.

Python爬虫-字体反爬-猫眼国内票房榜相关推荐

  1. 16.网络爬虫—字体反爬(实战演示)

    网络爬虫-字体反爬 一·字体反爬原理 二·字体反爬模块Fonttools TTF文件 三·FontCreator 14.0.0.2790 FontCreatorPortable下载与安装 四·实战演示 ...

  2. requests+正则表达式爬取猫眼国内票房榜

    ''' 抓取猫眼国内票房榜,地址:http://maoyan.com/board/1 '''import re import requestsdef one_page(url):'''获取页面'''h ...

  3. python爬虫反爬策略_抖音字体反爬,爬虫字体反爬策略——每周一个爬虫小教程系列...

    在B站上看到一个关于抖音字体反爬的视频,看完之后,精神抖擞,不禁感觉,我又行了,于是在模拟器上下载了一个抖音,打开了我尘封已久的抖音号. 可以看见显示的数字是正常的,但是查看源码就是错误的. 既然是字 ...

  4. [585]爬虫|字体反爬

    文章目录 1.目标网站 2.反爬虫机制 3.解决 4.上代码 字体解密相关资源 总结 目前已知的几个字体反爬的网站是猫眼,汽车之家,天眼查,起点中文网等等. 本文用到的第三方库:fontTools 安 ...

  5. 爬虫 字体反爬分析(1) 人人车 -- 含源码

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

  6. python 破解字体反爬 (二)

    上一篇我介绍了破解58同城的字体反爬 https://blog.csdn.net/BigBoy_Coder/article/details/103239672 中间遗漏了几个细节,在这边文章我做一下补 ...

  7. python 破解字体反爬 (一)

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

  8. python ttfont_58 字体反爬攻略 python3

    1.下载安装包 pip install fontTools 2.下载查看工具FontCreator 百度后一路傻瓜式安装即可 3.反爬虫机制 网页上看见的 后台源代码里面的 从上面可以看出,生这个字变 ...

  9. python爬虫常见反爬措施_爬虫常见的反爬措施有哪些

    爬虫常见的反爬措施有三种: 1.header头部信息 解决方法: 加User-Agent值: 如果不加header头,部分网站服务器判断不到用户的访问来源,所以会返回一个404错误来告知你是一个爬虫, ...

最新文章

  1. kettle组件-输出
  2. 从拼速度到拼质量,农产品上行迎来新拐点
  3. iphone有什么软件可以修改html,现在iPhone组装机太可怕,修改数据即可变原装?...
  4. 八个老师随机分配三个办公室
  5. JAVA入门级教学之(方法重写/方法重载)
  6. (Docker实战) 第三篇:配置_开发环境
  7. 如何从900万张图片中对600类照片进行分类,附代码
  8. 鲲鹏云实验-.NET Core 3.0-开始使用
  9. CSS 属性选择器备忘
  10. php 升级 源码,通过编译安装升级php(保证原有的扩展不变)
  11. 关于vue中watch和computed
  12. Docker、CentOS 8遭弃用,GPT-3、M1芯片撼动技术圈,盘点2020影响开发者的十大事件!
  13. dedecms 自定义表单提交后的跳转链接修改方法
  14. 怎么删除用户_误删的手机照片怎么恢复?三种快速恢复的方法
  15. 无法启动此程序因为计算机中丢失adapt,【完美解决】Wi7中NVIDIA GT540M安装程序无法找到和你现有硬件兼容的任何驱动程序,安装程序将会退出.doc...
  16. AI对于人类来说到底是福还是祸?
  17. 杂谈 之 闲来无事 (一)
  18. 北京航空航天大学961计算机专业综合考纲
  19. Essentially No Barriers in Neural Network Energy Landscape
  20. 神了!用Python预测世界杯决赛,发现准确率还挺高!

热门文章

  1. LT1961 升压型稳压器造就了兼具升压和降压能力的扁平状SEPIC
  2. 个人网站引入B站视频播放,个人博客播放B站视频。【1080P】
  3. echarts青岛市地图下钻到区市及根据各个区市经纬度在各区市地图绘制散点图和道路线
  4. Apache APISIX 社区成员助力 openEuler 发布第一个社区创新版
  5. 荒野今天维护服务器吗,荒野行动1月29日为什么无法登录原因 今天停服更新维护吗?...
  6. 大白菜装机教程win10_电脑一键装机win10系统_win10教程
  7. 模板:求图的强连通分量(SCC)
  8. select 函数使用方法
  9. 十大排序算法(C++)(时间复杂度O(nlogn)篇:希尔排序、堆排序、快速排序、归并排序)
  10. 西安联通光猫修改为桥接模式