小白也能够看会的破解抖音字体反爬

如今的网站,到处都是反爬,咱们这些爬虫的常常须要和他们斗智斗勇,就看谁更厉害。这不,就连字体也弄成了反爬,并且还不止一个网站,常见的就有猫眼和汽车之家。不过,字体反爬也没有用,毕竟咱们会破!哈哈。html

抖音的字体反爬是在一个分享我的主页的连接中,别的连接暂时没有测试,不过破了一个其余的也就破了。编程

分享主页能够这样得到:浏览器

1). 点击迪丽热巴我的主页bash

2).点击左上角工具

3).再点击左上角分享以连接方式复制学习

作完以后你就能够得到这样一条连接:v.douyin.com/NT5Nck/测试

在浏览器打开能够看到:字体

连接编程了这样:www.iesdouyin.com/share/user/…网站

根据经验很容易知道前面的参数就是用户的 id 号,后面的就是时间戳,能够去掉的。编码

有了这个页面以后怎么将我的主页的名称、粉丝、点赞量等爬下来呢?接下来就是教你这个,请继续往下看!

1. 分析破解反爬字体

打开开发者调试工具,很容易就能够看到数据所在的请求的连接

点击咱们须要获取的粉丝数,你能够看到:

能够看到,字体都变成了正方形,很明显这个作了反爬。那咱们再看看请求返回来的 html 信息。

能够看到一堆编码,并且都是数字变成了这样,全部抖音将这些数字的数据都作了字体进行映射,用了他们本身的字体,那咱们能够看看开发者工具的 network 查看他所用的字体,通常都是 wolf 或者 ttf 结尾的,能够看到:

s3.bytecdn.cn/ies/resourc…

在浏览器输入上面地址就能够下载该字体了。

下载完以后咱们能够用 Python 的一个工具包 fontTools 来查看字体映射。

若是你没有这个包的话,可在命令行输入下面代码进行下载工具包:

pip install fontTools
复制代码

使用 fontTools 将字体文件转为 XML 文件,下面为代码:

转换以后查看文件,你就能够看到之间的映射了,以下:

code 为咱们在请求中显示的编码,name为映射,到咱们须要找的是数字,num_ 表明的又是哪些数字呢?,若是你再找找,你会发现这个:

是否是感受已经找到了,恭喜你,你被坑了,这个并非,若是你第一次遇到的话,估计都会被它坑一次,这个并非刚才的什么数字映射,只是一些 id 名字罢了。

这时就须要咱们另借助一个字体软件了:FontCreator, 软件百度官网下载安装便可。

用这个软件打开字体,能够看到新大陆:

这个就是咱们须要找的映射,配合上面在 XML 文件中找的映射,一块儿用,这个就破解了。

2.代码实现

用 Python 代码只须要把它们之间的映射搞清楚就好了,因此咱们可使用字典来保存这些数据。

这个就是在软件上看到的映射关系,再来弄弄在 XML 中的编码对应关系

经过一行一行地读取 XML 文件的内容,找出映射并存储在相应的字典中,这就能够了,大功告成。

3.其余数据的获取

我打算爬的是抖音的用户数据,先找了 1000 个抖音大号来爬取,接着会经过他们的粉丝列表再来爬取别的用户,这样就差很少可以把抖音的大多数用户获取了,具体怎样爬取粉丝列表,下篇文章告诉你!期待的就点个「好看」支持下?

下面是 1000 个抖音大号的部分爬取代码:

上面的就是我须要存储的内容。

因为篇幅问题,其余的就不放出来了,想要源码的关注公众号进行获取

「如下内容,本人仅供学习交流,切勿用于商业用途」

相关文章
相关标签/搜索