抖音 x-gorgon 03 免费生成接口 抖音6.3.0版本

=========================================================
服务器将在2021/01/30过期,届时接口将没法用了,所以很抱歉哦
=========================================================

最近老板让爬取一下抖音数据,最新版本的总是抓不到包,所以我就选择使用版本的抖音app,通过分析抖音数据请求包,我们发现其中最难拿到的就是 “X-Gorgon”值:
请求包格式如下:

GET 后面是请求的api-我们可以自己构造
Host: 这是请求的host
Connection: keep-alive # 这个不重要
Cookie: 这里是我们自己的cookies 
Accept-Encoding: gzip # 这个不重要
X-SS-REQ-TICKET: 1605670443023 # 这就是一个时间戳
X-Tt-Token: 这是我们自己的Token
sdk-version: 1 # 这个不重要
User-Agent: 这是我们的agent
X-Khronos: 1605670443 # 这就是一个时间戳
# --------------------------------------------------------------
X-Gorgon: 0300ccc000007c----- # 这个东西不好拿到(这篇博客的核心)|
# --------------------------------------------------------------
X-Pods: 这个没有用

反编译apk获取X-gorgon生成过程:

通过反编译对应版本的抖音APK(这里是6.3.0版本的),我们发现对应的X-Gorgon是通过请求头中的字段构造的,源代码如下图所示:其中X-Gorgon与当前请求的api以及请求时间,请求的cookiestoken等有关,经过不懈的努力(有点点夸张),我终于实现了对应的生成算法,现在做成接口免费提供给大家(下一段讲接口请求)。

x-gorgon生成算法
x-gorgon生成算法

X-Gorgon 获取接口

所以我给大家提供了一个X-Gorgon的生成接口,大家可以请求,但是请大家注意频率,毕竟个人的小电脑不太耐折腾。

  • 接口参数:
url = "http://8.131.59.252:8080"
headers = {
    "dou-url": dou_url, # 填写对应的请求的api
    "dou-cookies": dou_cookies, # 填写你的cookies
    "dou-token": dou_token, # 填写你的token(没有的话,就填空置:“”)
    "dou-queries": dou_queries # 填写你的请求的queries(没有的话,就填空置:“”)
}

  • 接口返回值:
# 下面是请求正确的格式
{
    "status":0, # 说明请求成功
    "X-gorgon":"03jdfahdfdald"  # 返回到额 X-Gorgon
}
# 下面是请求错误的格式
{
    "status":1, # 表示生成X-Gorgon失败
    "reason":""  # 说明错误的原因
}

下面是请求示例:

import json
import requests
# 这个是生成X-Gorgon的服务器(不需要改)
gorgon_host = "http://8.131.59.252:8080"

# 下面这几个都需要填上你的请求的东西
# 填写你要爬取的抖音的url
dou_url = ""
# 填写你的cookies
dou_cookies = ""
# 填写你的 token (没有的话就不动这个)
dou_token = "" 
# 填写你的queries(没有的话就不动这个)
dou_queries = ""

headers = {
    "dou-url": dou_url,
    "dou-cookies": dou_cookies,
    "dou-token": dou_token,
    "dou-queries": dou_queries
}

res = requests.get(gorgon_host, headers=headers)
status_code = res.status_code
if status_code == 200:
    print("请求成功")
    # 解析X-Gorgon
    res_gorgon = json.loads(res.text)
    if res_gorgon.get("status") == 0:
        print("成功获取 X-Gorgon")
        print(res_gorgon.get("X-gorgon")) # 你就可以用来爬数据了
    else:
        print("获取 X-Gorgon 失败")
        print(res_gorgon.get("reason"))
else:
    print("请求发送错误/可能是你的网络错误,也可能是我的错误,但是大概率是你那边的错误")


注意

如果请求的X-gorgon不能用,可能是你的url构造的问题,也有可能是你的cookies、token的问题,请注意检查。(当然了,也有可能是我的代码的问题,但是我这边都是可以抓到数据的)

附录

如果需要,我会从头讲一下怎么抓包,怎么请求数据什么的。

有任何问题,请留言

你可能感兴趣的:(抖音 x-gorgon 03 免费生成接口 抖音6.3.0版本)