爬取数据不难,恶心的是各网站的各种反爬技术,替换字体,精灵图,数据加密等等,猫眼就是用到字体替换,简单来说就是字体映射,

首先先导入库,没有先pip安装

from fontTools.ttLib import TTFont

作用是把woff字体文件转成xml文件,

woff字体文件在猫眼页面css哪里

html页面位置

@font-face {
      font-family: stonefont;
      src: url('//vfile.meituan.net/colorstone/83d4dbb88976ee21d2cb2620b6051da23168.eot');
      src: url('//vfile.meituan.net/colorstone/83d4dbb88976ee21d2cb2620b6051da23168.eot?#iefix') format('embedded-opentype'),
           url('//vfile.meituan.net/colorstone/636dfb48d34fec199c62eb80acb2830b2080.woff') format('woff');
    }

.stonefont {
      font-family: stonefont;

font=TTFont('./猫眼2084_new.woff')#读取woff文件
# font.saveXML('./m.xml')#转成xml

xml文件打开如下图

先找出数字的规律,然后再提取数据再替换就行了,那么问题又来了,猫眼每次刷新页面对应数字的位置又不一样,那之前找出来的规律是不是没有了?所以还需要进一步的处理,

第一次获取字体的规律

dict={}

num = [6, 2, 9, 0, 1, 8, 4, 3, 7, 5]
list=font.getGlyphOrder()[2:]
for n,p in zip(list,num):dict[n]=p

先把第一次获取的字体规律对应好合成一个字典,

然后再通过

getGlyphNames()对象的方法对应起来就行了

看代码吧

font=TTFont('./猫眼2084_new.woff')#读取woff文件
# font.saveXML('./m.xml')#转成xml
num = [6, 2, 9, 0, 1, 8, 4, 3, 7, 5]
list=font.getGlyphOrder()[2:]
print(list)
for n,p in zip(list,num):dict[n]=p
print(dict)
font1 = TTFont('./猫眼222字体.woff')  # 读取新的woff文件
# font1.saveXML('./m999.xml')  # 转成xml
ff_list=font1.getGlyphNames()#返回一个对象
ff_news=font1.getGlyphOrder()
for fo in ff_news:fo2=font1['glyf'][fo]for fff1 in list:fo3=font['glyf'][fff1]if fo2==fo3:print(fo,dict[fff1])

关系对应起来了

那么剩下来把提取的字体替换就行了

因为

显示是&#x

所以把字符uni替换成&#x

这就用到字符串方法了replace()

效果如图

好了,还有天眼网站的反爬也挺恶心,只要找到字体的规律就可以了

教大家用python爬取猫眼数据,破解里面的字体woff最新相关推荐

  1. python爬百度翻译-教大家用python爬取百度翻译,超简单

    一,首先导入urllib里面的request和parse:这里导入parse主要字符转码 from urllib import request,parse 二,爬取别人的网站最好加入伪装,也就是浏览器 ...

  2. python爬取并翻译_教大家用python爬取百度翻译,超简单-Go语言中文社区

    一,首先导入urllib里面的request和parse:这里导入parse主要字符转码 from urllib import request,parse 二,爬取别人的网站最好加入伪装,也就是浏览器 ...

  3. 教你用python爬取网站数据

    编码问题 因为涉及到中文,所以必然地涉及到了编码的问题,这一次借这个机会算是彻底搞清楚了. 问题要从文字的编码讲起.原本的英文编码只有0~255,刚好是8位1个字节.为了表示各种不同的语言,自然要进行 ...

  4. 实战|手把手教你用Python爬取存储数据,还能自动在Excel中可视化

    来源 | 早起Python 大家好,在之前我们讲过如何用Python构建一个带有GUI的爬虫小程序,很多本文将迎合热点,延续上次的NBA爬虫GUI,探讨如何爬取虎扑NBA官网数据,并且将数据写入Exc ...

  5. 钱袋子往哪走?教你用Python爬取基金数据

    年关将至,钱袋子往哪走? 有人买了定期存款,3年,年利率:3.987. 按存50w计算 0.0385 50万,3年息:6万,月息:1666.72元 0.039785 50万,3年息:6.21万,月息: ...

  6. 带着大家用Python爬取小红书,完完整整的全过程

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章来源于Python进击者 ,作者kuls Python爬虫.数据分析.网站开发等案例 ...

  7. 利用python爬取猫眼电影,分析《大侦探皮卡丘》|凹凸数读

    利用python爬取猫眼电影,分析<大侦探皮卡丘>,看看当皮卡丘长出绒毛,"丑拒"还是"真香"都在猫眼短评里了. 本文首发于微信公众号<凹凸数 ...

  8. python爬取资料怎么样_手把手教你Python爬取新房数据

    原标题:手把手教你Python爬取新房数据 项目背景 新房数据,对于房地产置业者来说是买房的重要参考依据,对于房地产开发商来说,也是分析竞争对手项目的绝佳途径,对于房地产代理来说,是踩盘前的重要准备. ...

  9. python爬取猫眼电影数据

    每天一点点,记录学习每一步 近期爬虫项目: 1:python 爬取菜鸟教程python100题,百度贴吧图片反爬虫下载,批量下载 2:python爬虫爬取百度贴吧图片,requests方法 3:pyt ...

最新文章

  1. 10冰点还原安装不了_荣耀智慧屏X1性能有多强?荣耀智慧屏X1怎么安装第三方软件?...
  2. 对DBF的操作建议用微软的驱动和新的链接字符串。
  3. 重庆理工大学计算机考研就业,重庆理工大学专业硕士含金量高吗?好就业吗?
  4. php微博获取用户信息,获取用户基本信息
  5. Intel Realsense D435 如何获取摄像头的内参?get_profile() video_stream_profile() get_intrinsics()
  6. python信息找人的算法_算法篇-python查找算法
  7. 为什么CAP不能同时满足的简单理解
  8. 外包公司到底值不值去?
  9. 离婚率逐年上升,数据分析告诉你背后的主因竟然是它!
  10. 计算机做减法运算的过程,32位汇编基础_计算机做加减乘除
  11. linux误用rm删除文件后恢复
  12. 腾讯X5WebView集成使用
  13. phpstudy php redis,phpstudy拓展redis
  14. Windows蓝屏了,如何处理?
  15. java五子棋网络版源码_网络版五子棋的java源代码.pdf
  16. 极速办公(excel)如何使用SUM函数求和
  17. SQL语句查询拼音码
  18. MC9S12XS128硬件底层驱动_set_bus_clk.h(总线时钟设置)
  19. SpringCloud熔断器Hystrix
  20. matlab dock什么意思,dock栏是什么意思? 电脑dock栏使用方法

热门文章

  1. Node.js学习笔记——Express篇(1.初识Express)
  2. git push 成功后如何撤销回退
  3. Android 应用崩溃日志的收集和上传
  4. C语言 古代经典算术题:百钱百鸡。用100元钱买100只鸡,已知公鸡每只5元,母鸡每只3元,小鸡一元3只,求出所有的卖法。
  5. HTML5实现学生档案
  6. html+css:折扇效果
  7. sklearn学习笔记
  8. Unity矩阵平移旋转缩放Matrix4x4
  9. 数据分析基础—3.2 常见的数据获取途径
  10. 如何使用mIRC下载电子书