抖音解析无水印Python

需求分析

打开分享的链接,按F12进入开发者选项、找到了一个接口,该接口返回了该视频的大部分信息,包括封面,音乐,有水印视频的地址以及无水印的地址。
通过对比发现,只有aweme id,webid,msToken,a_bogus改变,其他的值写死即可。

再通过修改某些具体值,发现msToken,a_bogus写死即可(修改之后仍然能获取)

任务需求表

步骤 变量
aweme_id 视频ID
webid 通过js生成,每台电脑都不一样(一般不会变)

获取视频ID

抖音分享获取的链接会重定向到一个新的包含了ID的地址,所以要通过短链接获取视频ID,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def get_id(self):
try:
response = requests.head(self.url, allow_redirects=True)
redirected_url = response.url
try:
matches = re.findall(self.pattern, redirected_url)
if matches:
aweme_id = matches[0]
else:
aweme_id = None
except re.error as id_error:
print("Error:", id_error)
return None
return aweme_id
except requests.RequestException as e:
print("Error:", e)
return None

获取webid(无需)

在全局搜索webid的值,可以找到其存在某些js文件当中,可以直接截取。

1
2
3
4
5
6
7
8
9
def get_webid(self):
headers = {
'cookie': '',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/123.0.0.0 Safari/537.36',
}
response = requests.get(self.webid_url, headers=headers)
web_id = response.json()['data']['frontier_params']['frontier_device']
return web_id

cookie太长了,可以去浏览器复制进去。

cookie不能随便改,但是不知道有没有时间限制。

获取视频信息接口

好像只需要知道aweme_id就可以了,我把其他所有都删除了,一样是可以获取到信息的。

1
2
3
4
5
6
7
8
9
10
11
12
def get_info(self, aweme_id):
headers = {
'cookie': '',
'referer': 'https://www.douyin.com/video/7344169821317106971',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36',
}
params = (
('aweme_id', aweme_id)
)
response = requests.get('https://www.douyin.com/aweme/v1/web/aweme/detail/', headers=headers, params=params)
mp4_info = response.json()
return mp4_info

接口信息分析

名称 路径
作者头像 ["aweme_detail"]["author"]["avatar_thumb"]["url_list"]
作者名称 ["nickname"]
作者个签 ["signature"]
抖音号 ["unique_id"]
年龄(不真实) ["user_age"]
作品文案 ["caption"]
音乐封面 ["music"]["cover_hd"][ "url_list"]
音乐名字 ["music"]["song"]["title"]
音乐作者 ["music"]["author"]
音乐下载 ["music"]["play_url"][ "url_list"]
视频下载([0]为最高画质) ["video"][ "bit_rate"][0]["url_list"]

抖音解析无水印Python
https://wechatid.github.io/2024/04/07/Titok-Download/
作者
Imscamd
发布于
2024年4月7日
许可协议