在B站上看到一个关于抖音字体反爬的视频,看完之后,精神抖擞,不禁感觉,我又行了,于是在模拟器上下载了一个抖音,打开了我尘封已久的抖音号。

可以看见显示的数字是正常的,但是查看源码就是错误的。

既然是字体反爬,那就得去找下字体,双击下载

然后用在线字体编辑器打开看一下。

我们看到这个数字1的Unicode是$E602,是不是和源代码中的差不多呢。

在教程里面说到对于字体反爬,需要用模块将字体转为xml,相当于字典,然后就这样替换吧。

将字体文件转换为xml文件需要用到的模块是fonttoole,这里需要自行安装一下。

from fontTools.ttLib import TTFont

font = TTFont('iconfont_9eb9a50.woff')

font.saveXML('DouYinFont.xml')

转换完成之后的XML文件。

我们来搜索一下我们之前的数字1,他的Unicode就是E602,然后可以发现这里和之前在线字体网站上的结果是一样的

然后我们来将XML文件提取出来,并输出一下(XML提取我目前也不会,所以是跟着教程写的,后期再去了解一下吧)a = font['cmap'].getBestCmap()

print(a)

这个时候发现似乎这些都变成了数字,而不是之前的$E602这样子的,是因为进制转换了,由原始的16进制,转成了10进制。

然后我们需要将这个字典中的十进制数字转成这种16进制,然后还得把0x替换为

然后用代码实现就是酱紫的,大概就是提取出cmap这个节点的信息,然后遍历这个字典,然后重新转换成16进制然后变成字符串,在替换一下。a = font['cmap'].getBestCmap()

b = {}

for key, value in a.items():

b[str(hex(key)).replace('0x', '')] = value

print(b)

然后就是用代码将num_这些转换为数字,参照这张字体在线编辑器的即可

c = {

'num_': '1',

'num_1': '0',

'num_2': '3',

'num_3': '2',

'num_4': '4',

'num_5': '5',

'num_6': '6',

'num_7': '9',

'num_8': '7',

'num_9': '8',

}

然后改进一下之前的代码:for key, value in a.items():

b[str(hex(key)).replace('0x', '')] = c[value]

print(b)

然后为了和网页源码里面一样()所以还需要做一些修改,在后面加一个分号和空格。for key, value in a.items():

b[str(hex(key)).replace('0x', '')+'; '] = c[value]

print(b)

然后就是请求源码,然后替换了。headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) ApplewebKit/537.36 (KHtml, like Gecko) Chrome/83.0.4103.97 Safari/537.36',

}

url = 'https://www.iesdouyin.com/share/user/91723415754'

res = requests.get(url=url, headers=headers).text

for key, value in b.items():

if key in res:

res = res.replace(key, value+' ')

print(res)

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

  1. python如何写生日快乐说说_抖音上很火的生日句子,适合过生日发的高逼格

    抖音上很火的生日时发的句子,还有给自己生日的高逼格祝福,码起来,迟早会用到. 抖音上很火的生日句子,适合过生日发的高逼格祝福: 1. 没有零点的生日祝福 没有煽情的语录 感恩所有 都是馈赠和成长 祝自 ...

  2. Python爬虫学习,批量爬取下载抖音视频

    这篇文章主要为大家详细介绍了python批量爬取下载抖音视频,具有一定的参考价值,感兴趣的小伙 项目源码展示 ''' 注:如果你对python感兴趣,我这有个学习Python基地,里面有很多学习资料, ...

  3. Python爬虫学习教程,批量爬取下载抖音视频

    这篇文章主要为大家详细介绍了python批量爬取下载抖音视频,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 项目源码展示: ''' 在学习过程中有什么不懂得可以加我的 python学习交流扣扣qu ...

  4. 抖音爬取粉丝用户列表_抖音分享页用户信息爬取

    其实这个是有客户要求做的,但我完成的不够完美.过来分享出来好了~ 首先,你知道抖音有一个用户分享页吧? F12查看代码. ok,可以看到有数字的地方都做了字体反爬,比如抖音id上的数字啊,粉丝数这些. ...

  5. python自动搜索爬取下载文件-python批量爬取下载抖音视频

    本文实例为大家分享了python批量爬取下载抖音视频的具体代码,供大家参考,具体内容如下 import os import requests import re import sys import a ...

  6. python爬取抖音用户数据_python批量爬取下载抖音视频

    本文实例为大家分享了python批量爬取下载抖音视频的具体代码,供大家参考,具体内容如下 import os import requests import re import sys import a ...

  7. python 抽奖 配音乐_抖音上超好听的神曲音乐,Python教你一次性下载

    不知道什么时候开始,中国出现了南抖音.北快手的互文格局(东市买骏马,西市买鞍鞯-).刚才提到了,之前比较喜欢刷抖音,对于我这种佛系程序猿,看网上这些整容妹子基本一个样.喜欢抖音主要是两个初衷,学做菜听 ...

  8. 淘宝,tmall,1688,抖音,拼多多等平台商品详情接口(网络爬虫数据接口调用示例)接口对接教程

    淘宝,tmall,1688,抖音,拼多多等平台商品详情接口(网络爬虫数据接口调用示例)接口对接教程如下: 1.公共参数 名称 类型 必须 描述(接口代码教程wx19970108018) key Str ...

  9. multipartfile 获取音频时长_抖音音频下载捷径:一键提取音频,安卓+ios全通用,完全免费...

    本文相关:抖音音频提取.抖音音频快捷指令.捷径怎么获取抖音音乐- 昨天有抖友分享了一个抖音短视频链接,告诉我,她很喜欢这个视频里的歌曲,但是在很多歌曲app上面却找不到相同的版本,然后就问我,有没有什 ...

最新文章

  1. Mysql4种方式避免重复插入数据!
  2. JavaScript HTML DOM - 改变 CSS
  3. Android——apk反编译
  4. DotNetNuke出错:“Runat 属性必须具有值 Server(The Runat attribute must have the value Server Error)...
  5. OpenGL立方体面的显示问题?
  6. 解构给默认值_使用 JavaScript 解构让代码更优雅
  7. matlab DSP6678,TMS320C6678开发例程使用手册(8)
  8. 安卓刷机及刷机包制作教程
  9. 星际争霸2 自由之翼+虫群之心+虚空之遗+遭遇战破解(中文三部曲整合版)
  10. 达梦数据库DEM(企业管理器)部署实战
  11. Jquery WeUI(一)
  12. 写字机结构---coreXY结构
  13. 学钢琴时如何提高识谱能力
  14. 《OpenCv视觉之眼》Python图像处理十二 :Opencv图像轮廓提取之基于一阶导数的Roberts算法、Prewitt算法及Sobel算法
  15. javascript设计模式-门面模式(facade pattern)
  16. 纯CSS打造酷炫霓虹灯loading bar特效
  17. 不相关、独立、正交的区别与联系
  18. [附源码]计算机毕业设计JAVA水库水面漂浮物WEB系统
  19. 如何在工作中调整自己的心态
  20. Lambda表达式语法及应用

热门文章

  1. 制作菜单栏、选择题、搓组合键、小僵尸-unity3D游戏开发入门
  2. 避免死锁的银行家算法
  3. win10wifi开关自动弹回_win10热点自动关闭怎么办 win10自带的移动热点经常自动关闭的解决方法...
  4. Windows sever 2019AD域怎么设置域内计算机屏幕锁屏时间
  5. 想拿了年终奖走人?先看看这3大问题!
  6. mysql新建连接1045_Navicat for Mysql 1045错误
  7. SteamCMD是什么怎么用开服教程
  8. Oracle RAC 搭建笔记
  9. 【判断字符的合法性】
  10. 使用adb命令给安卓手机安装apk包