下载所需要的抖音视频,可以通过访问响应链接进行,首先你要知道几个东西,就是开发者模式。
0、找到需要查看抖音博主的视频的主页
1、首先在开发者模式下找到网络,然后在搜索栏中输入post,会有几个报文。你可以忽略
2、那个与其他不同的报文,以我的为例子就是我没圈起来的这个。也就是有三个报文。
3、然后的话,随便打开一个报文,找到User-Agent,Cookie,Referer,然后把代码中的这三个替换成你找到的内容。
4、其次的话,将这个3个报文复制URL到代码中,替换我代码中的URL。右键复制—>复制全部的URL。注意,记得把复制的这几个url用“ ”
或者‘ ’
,分别包裹起来。
5、最后运行代码。
源代码如下:
import os
import time
import requests
"""
在控制面板下的网络中,找到这几个东西。
"""
headers = {
'User-Agent': " Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ······",
"Cookie": "UIFID_TEMP=dca68353d0985e2a8bd3e6652fe656c462342d173f24572ea6······",
"Referer": " https://www.douyin.com/user/MS4······"
}
"""
将下面的url,改为你要下载的视频地址。在控制面板下的网络中
"""
url = [
'https://www.douyin.com/aweme/v1/web/aweme/post······',
'https://www.douyin.com/aweme/v1/web/aweme/post······',
'https://www.douyin.com/aweme/v1/web/aweme/post······'
]
def total():
aweme_list = []
nickname = requests.get(urls[0], headers=headers).json()["aweme_list"][0]["author"]["nickname"] # 得到视频标题
folder_path = f'./{nickname}'
# 确保输出目录存在
os.makedirs(folder_path, exist_ok=True)
for i in range(len(urls)):
res = requests.get(urls[i], headers=headers) # 获取请求
aweme_list = aweme_list + res.json().get("aweme_list")
TotalLen = len(aweme_list)
print(f"共有{TotalLen}个视频,现在开始下载")
# 进入开始下载函数
download(TotalLen, nickname,aweme_list)
def download(TotalLen, nickname, aweme_list):
length = 0
for aweme in aweme_list:
l1 = aweme.get("desc")
for sep in ["?", "。", "!", "#"]: # 去掉多余的东西
l1 = l1.split(sep)[0]
title = str(TotalLen) + "、" + l1.strip() # 得到标题 如: 1、xxxxx
TotalLen -= 1
VideoName = f"./{nickname}/{title}.mp4"
if not os.path.exists(VideoName): # 判断是不是存在
length += 1
url = aweme.get("video").get("play_addr").get("url_list")[-1]
res = requests.get(url)
with open(VideoName, "wb") as f:
f.write(res.content)
print(f"{title}—>下载成功!")
if length%10==0: # 设置休眠,防止拦截
time.sleep(5)
print(f"休息一下,马上开始")
else:
print(f"{title}——>已存在")
print(f'不错,{TotalLen}个视频下载到了"{nickname}"文件夹下,你现在可以去看了')
if __name__ == '__main__':
total()