欢迎您进入某某电器有限公司

开丰注册登录站

造洁净厨房 做健康美食

油烟净化一体机批发定制首选服务商

全国免费咨询热线400-123-4567

当前位置: 主页 » 开丰动态 » 公司新闻

抖音爬虫教程,一文讲透原理

文章出处:网络 人气:发表时间:2023-12-18 18:31

声明: 本文只做技术研究,请勿用于任何非法用途。

最近有不少小伙伴投入短视频赛道,也出现不少第三方数据商,为大家提供抖音爬虫数据。 小伙伴们有没有好奇过,这些数据是如何获取的,普通技术小白能否也拥有自己的抖音爬虫呢? 本文会全面解密抖音爬虫的幕后原理,不需要任何编程知识,还请耐心阅读。

短视频直播数据采集接口SDK请点击查看接口文档

在制作爬虫前,首先需要了解,爬虫数据是怎么获得的。 以抖音 APP 为例,我们从抖音上看视频,和我们从浏览器上访问网站原理是一样的。 都是通过标准的 HTTP 请求来交互。 那么什么是 HTTP 请求呢?

HTTP 请求其实非常简单,可以理解为规定好格式的一组文字消息。请求消息中一般包含三样东西:

  1. 请求网址 (URL),例如抖音 APP 后台网址
  2. 你要做的事情 (请求参数), 例如是浏览,点赞还是上传视频等
  3. 你的身份信息 (Cookie) 和校验信息 (Token),表明你是谁,你请求合法吗

抖音服务器收到 HTTP 请求后,会先验证合法性,然后按照你的要求,配合你的身份和地理位置等,给你回复规定格式的文本消息。

我们以安卓 10.6 版首页推荐视频为例,来看一个真实的抖音请求流程:

上图是通过抓包软件抓取的首页推荐视频请求数据。可以看出,当你一打开抖音,APP 就会自动向抖音服务器发送一条 HTTP 请求消息。 图中蓝色箭头可以看出,请求是向 aweme-hl.snssdk.com/aweme/v2/fe… 这个网址发送的 (URL)。 黄色箭头标出该 HTTP 请求包含了地理位置信息 (请求参数),以及身份信息 (Cookie)。 抖音服务器收到请求后,就知道你是谁,你在哪里,你要干什么。然后会将红色箭头中的视频推荐数据回复给你。 点开回复数据,可以看到其中包含了视频 ID,标题,描述,点赞量,评论等多种信息。

有的读者可能注意到一串 \\350\\241\\250\\346\\203\\205 这样奇怪的数字,这其实是一种叫 UTF-8 的编码方式。 可以简单理解为每三组 \\xxx 组成一个中文字符。比如上面这串数字翻译过来就是 表情 两个字。

抖音 APP 通过读取回复消息,就知道该给我们展示哪些视频了。 但此时并没有结束,APP 还要根据返回的视频 ID,额外做两次 HTTP 请求,以获得需要展示的视频数据和缩略图信息,这样才能真正给我们展示首页推荐视频。

小伙伴们读到这里,应该明白整个抖音数据的请求流程了。俗话说纸上得来终觉浅,我们就以抖音点赞为例,手把手教大家怎样抓取和查看一个真实的 HTTP 请求包。

首先,需要下载 HttpCanary 抓包软件,可以从 Google Play 或者 Apkpure 里下载。安装完成后,重启手机,就可以开始抓包了。

先打开抖音 APP,再打开 HttpCanary,开始抓取抖音数据。如下图所示:

随便找个视频点赞,可以看到 HttpCanary 在不停的抓包。点开 HttpCanary,找带有 /aweme/v1/commit 字样的请求包:


点开请求包,可以看到,这其实是一个普通 HTTP 报文,红线部分表示需要点赞的视频 ID。

请求信息中除了包含视频 ID 外,还包含了你的身份信息,这样抖音才知道这个视频是谁在点赞。

然后 APP 通过查看回复消息,判断点赞请求是否成功,如果成功,就可以将视频边上的小红心点亮了。

通过点赞数据包,我们可以清楚看到,抖音所有浏览,点赞,评论,发布视频等,其实都是通过一个个 HTTP 完成的。

讲了那么多 HTTP 请求原理,对于普通小白来说,我们怎样才能做一个属于自己的爬虫呢? 其实很简单,只要照猫画虎,复制抖音 HTTP 请求,再原样发送就可以。 比如我想获取推荐视频,只要复制抖音推荐视频的 HTTP 请求,再原样发送就可以拿到推荐数据了。 本节我们就以上文中的点赞数据为例,请大家亲手做一个自动点赞的爬虫。 让我们先回到抖音,把刚才那个视频的点赞取消,这样才能看到爬虫的最终效果。

进入 HttpCanary,找到刚才的点赞包,点击右上角分享按钮,并选择分享 cURL,如下图所示:


复制完成后,HttpCanary 会提示检测到一个 cURL 请求,选择执行即可。


可以看到,HttpCanary 发送了一模一样的点赞请求给抖音。点开查看回复数据,如果和上文的返回值一样,就表明你的点赞爬虫完成啦。

此时回到抖音 APP,查看我喜欢的视频,就可以看到刚才取消点赞的视频又回来了。

通过刚才的练习,可以看到,只要我们能原样复制抖音数据包,就可以拿到所有想要的数据。 例如,复制首页视频请求,我们就能拿到推荐视频的标题,说明,点赞数量,评论数量等各种各样的数据。 小伙伴们也许有疑问,我们怎样才能搜集全部抖音数据呢?鉴于目前抖音的火爆程度,想要全部收集完其实不太可能,也没有必要。 聪明的小伙伴一定想到了,我们只要向抖音不停发送上划请求,就可以搜集很多首页推荐数据了。 如果你想做的更全能一些,还可以复制查看单用户视频的请求,把所有热门账号的视频数据都采集下来,就基本能替代第三方数据商了。 此外,你还可以修改 HTTP 请求,比如在首页请求中修改不同的地理位置,就可以看到不同地区的推荐视频和同城视频了。

看到这里,相信很多小伙伴已经跃跃欲试,准备大干一番了。但是别急,程序员小哥哥们可不会轻易让你们得逞。如果大家能随意点赞评论的话,抖音生态系统早就被玩坏了。 那么难点在哪里呢?我们还是回到刚才的请求包上,仔细看下图:

其实抖音每一次 HTTP 请求,都会带上 x-khronos 和 x-gorgon 这两个参数。抖音会在每次请求中校验这两个参数,如果校验不通过,那么请求就无效啦。 这两个参数都干了什么呢? 第一个 x-khronos,是标识请求时间,采用 Unix 时间格式。比如 1586446631,表示离 1970 年 1 月 1 日 0 点 0 分过去 1586446631 秒,也就是 2020 年 4 月 9 日 23 点 37 分。如果抖音收到的请求时间离实际时间太远,就知道这个请求已经失效。 第二个 x-gorgon,用来校验请求合法性。如果你在请求中篡改了任何数据,比如篡改了点赞 ID,或者身份信息 (Cookie),这个请求都会被抖音查出是伪造的,就能有效防止用户乱刷数据了。 好奇宝宝们一定会问,这个 x-gorgon 是怎么算出来的呢?理论上和法律上来说,只有抖音小哥哥们才知道。不过一般情况,都是通过请求时间,请求 URL 和 Cookie 等信息综合计算得出的(以上纯属瞎猜,请遵守当地法律)。

简单一句话概括,只需要复制抖音 HTTP 请求,并完成 x-gorgon 校验,理论上你就可以做一个全能的抖音爬虫。不过再次提醒小伙伴们,一定要谨遵当地法律,也不要滥用爬虫给平台造成负担。

短视频、直播电商数据采集、分析服务,请联系微信:1764328791 免责声明:本文档仅供学习与参考,请勿用于非法用途!否则一切后果自负。

声明: 本文只做技术研究,请勿用于任何非法用途。

最近有不少小伙伴投入短视频赛道,也出现不少第三方数据商,为大家提供抖音爬虫数据。 小伙伴们有没有好奇过,这些数据是如何获取的,普通技术小白能否也拥有自己的抖音爬虫呢? 本文会全面解密抖音爬虫的幕后原理,不需要任何编程知识,还请耐心阅读。

在制作爬虫前,首先需要了解,爬虫数据是怎么获得的。 以抖音 APP 为例,我们从抖音上看视频,和我们从浏览器上访问网站原理是一样的。 都是通过标准的 HTTP 请求来交互。 那么什么是 HTTP 请求呢?

HTTP 请求其实非常简单,可以理解为规定好格式的一组文字消息。请求消息中一般包含三样东西:

  1. 请求网址 (URL),例如抖音 APP 后台网址
  2. 你要做的事情 (请求参数), 例如是浏览,点赞还是上传视频等
  3. 你的身份信息 (Cookie) 和校验信息 (Token),表明你是谁,你请求合法吗

抖音服务器收到 HTTP 请求后,会先验证合法性,然后按照你的要求,配合你的身份和地理位置等,给你回复规定格式的文本消息。

我们以安卓 10.6 版首页推荐视频为例,来看一个真实的抖音请求流程:

上图是通过抓包软件抓取的首页推荐视频请求数据。可以看出,当你一打开抖音,APP 就会自动向抖音服务器发送一条 HTTP 请求消息。 图中蓝色箭头可以看出,请求是向 aweme-hl.snssdk.com/aweme/v2/fe… 这个网址发送的 (URL)。 黄色箭头标出该 HTTP 请求包含了地理位置信息 (请求参数),以及身份信息 (Cookie)。 抖音服务器收到请求后,就知道你是谁,你在哪里,你要干什么。然后会将红色箭头中的视频推荐数据回复给你。 点开回复数据,可以看到其中包含了视频 ID,标题,描述,点赞量,评论等多种信息。

有的读者可能注意到一串 \\350\\241\\250\\346\\203\\205 这样奇怪的数字,这其实是一种叫 UTF-8 的编码方式。 可以简单理解为每三组 \\xxx 组成一个中文字符。比如上面这串数字翻译过来就是 表情 两个字。

抖音 APP 通过读取回复消息,就知道该给我们展示哪些视频了。 但此时并没有结束,APP 还要根据返回的视频 ID,额外做两次 HTTP 请求,以获得需要展示的视频数据和缩略图信息,这样才能真正给我们展示首页推荐视频。

小伙伴们读到这里,应该明白整个抖音数据的请求流程了。俗话说纸上得来终觉浅,我们就以抖音点赞为例,手把手教大家怎样抓取和查看一个真实的 HTTP 请求包。

首先,需要下载 HttpCanary 抓包软件,可以从 Google Play 或者 Apkpure 里下载。安装完成后,重启手机,就可以开始抓包了。

先打开抖音 APP,再打开 HttpCanary,开始抓取抖音数据。如下图所示:

随便找个视频点赞,可以看到 HttpCanary 在不停的抓包。点开 HttpCanary,找带有 /aweme/v1/commit 字样的请求包:


点开请求包,可以看到,这其实是一个普通 HTTP 报文,红线部分表示需要点赞的视频 ID。

请求信息中除了包含视频 ID 外,还包含了你的身份信息,这样抖音才知道这个视频是谁在点赞。

然后 APP 通过查看回复消息,判断点赞请求是否成功,如果成功,就可以将视频边上的小红心点亮了。

通过点赞数据包,我们可以清楚看到,抖音所有浏览,点赞,评论,发布视频等,其实都是通过一个个 HTTP 完成的。

讲了那么多 HTTP 请求原理,对于普通小白来说,我们怎样才能做一个属于自己的爬虫呢? 其实很简单,只要照猫画虎,复制抖音 HTTP 请求,再原样发送就可以。 比如我想获取推荐视频,只要复制抖音推荐视频的 HTTP 请求,再原样发送就可以拿到推荐数据了。 本节我们就以上文中的点赞数据为例,请大家亲手做一个自动点赞的爬虫。 让我们先回到抖音,把刚才那个视频的点赞取消,这样才能看到爬虫的最终效果。

进入 HttpCanary,找到刚才的点赞包,点击右上角分享按钮,并选择分享 cURL,如下图所示:


复制完成后,HttpCanary 会提示检测到一个 cURL 请求,选择执行即可。


可以看到,HttpCanary 发送了一模一样的点赞请求给抖音。点开查看回复数据,如果和上文的返回值一样,就表明你的点赞爬虫完成啦。

此时回到抖音 APP,查看我喜欢的视频,就可以看到刚才取消点赞的视频又回来了。

通过刚才的练习,可以看到,只要我们能原样复制抖音数据包,就可以拿到所有想要的数据。 例如,复制首页视频请求,我们就能拿到推荐视频的标题,说明,点赞数量,评论数量等各种各样的数据。 小伙伴们也许有疑问,我们怎样才能搜集全部抖音数据呢?鉴于目前抖音的火爆程度,想要全部收集完其实不太可能,也没有必要。 聪明的小伙伴一定想到了,我们只要向抖音不停发送上划请求,就可以搜集很多首页推荐数据了。 如果你想做的更全能一些,还可以复制查看单用户视频的请求,把所有热门账号的视频数据都采集下来,就基本能替代第三方数据商了。 此外,你还可以修改 HTTP 请求,比如在首页请求中修改不同的地理位置,就可以看到不同地区的推荐视频和同城视频了。

看到这里,相信很多小伙伴已经跃跃欲试,准备大干一番了。但是别急,程序员小哥哥们可不会轻易让你们得逞。如果大家能随意点赞评论的话,抖音生态系统早就被玩坏了。 那么难点在哪里呢?我们还是回到刚才的请求包上,仔细看下图:

其实抖音每一次 HTTP 请求,都会带上 x-khronos 和 x-gorgon 这两个参数。抖音会在每次请求中校验这两个参数,如果校验不通过,那么请求就无效啦。 这两个参数都干了什么呢? 第一个 x-khronos,是标识请求时间,采用 Unix 时间格式。比如 1586446631,表示离 1970 年 1 月 1 日 0 点 0 分过去 1586446631 秒,也就是 2020 年 4 月 9 日 23 点 37 分。如果抖音收到的请求时间离实际时间太远,就知道这个请求已经失效。 第二个 x-gorgon,用来校验请求合法性。如果你在请求中篡改了任何数据,比如篡改了点赞 ID,或者身份信息 (Cookie),这个请求都会被抖音查出是伪造的,就能有效防止用户乱刷数据了。 好奇宝宝们一定会问,这个 x-gorgon 是怎么算出来的呢?理论上和法律上来说,只有抖音小哥哥们才知道。不过一般情况,都是通过请求时间,请求 URL 和 Cookie 等信息综合计算得出的(以上纯属瞎猜,请遵守当地法律)。

简单一句话概括,只需要复制抖音 HTTP 请求,并完成 x-gorgon 校验,理论上你就可以做一个全能的抖音爬虫。不过再次提醒小伙伴们,一定要谨遵当地法律,也不要滥用爬虫给平台造成负担。

返回顶部

平台注册入口