外链论坛

 找回密码
 立即注册
搜索
查看: 56|回复: 4

手把手教你运用Python下载抖音视频

[复制链接]

3037

主题

3万

回帖

9910万

积分

论坛元老

Rank: 8Rank: 8

积分
99109078
发表于 2024-8-17 22:52:47 | 显示全部楼层 |阅读模式

咱们平时在刷抖音的时候, 经常会看到有些优秀的内容, 想要保留下来。然而尴尬的事情显现了,要么下载的视频有水印,要么视频不准许下载,这个时候是不是只能点赞兴叹。不碍事,今天咱们运用 Python 来循序渐进将视频下载下来,况且水印。

先看一下运行结果:

下载视频

运行完成后,在工程文件夹能够看到,视频已然下载到本地,并且水印

下载后的照片

接下来, 咱们仔细讲解一下下载思路,其中运用requests模块请求网络。

获取视频位置

获取位置

点击电脑端分享, 选取复制链接(手机端一样的操作),而后就能获取到一下内容

3.56 h@O.xs dnd:/ 11/09 评论区抽一个人,没奖励,纯抽# 我的女团阵容 # 魔性律动舞

https://v.douyin.com/i8Br9jbr/ 复制此链接,打开Dou音搜索,直接观看视频!

运用正则提取分享链接中的短网址

share_url = input("请粘贴视频位置: ") match = re.search(r"https://.*/", share_url)

抖音分享的链接中是短连接,直接拜访得到的内容并不是实质的页面因此呢咱们必须分析从短连接到实质视频页面的是怎样流转的。

分析短链接位置

短链接是将较长的URL转换为一个较短的,易于记忆和分享的链接。

运用浏览器拜访短连接位置发掘一共经过了两次重定向, 才最后跳到了实质的视频位置

网址重定向

因此呢必须编写一个办法, 获取每次重定向的位置,多次咱们能够递归调用,直到返回None。

# 获取重定向位置 def __get_redirect_url(url): res = requests.get(url) return res.history[0].headers[Location] iflen(res.history) >0 else None获取到重定向页面后,起始分析,页面中是怎样获取视频播放位置

打开浏览器掌控台在网络请求发掘,视频链接是经过页面加载完成后,发起的XHR获取的, 其中请求param中aweme_id为视频id

获取视频网址

晓得请求后, 咱们能够构建链接请求,其中请求位置是固定的,请求参数动态传入

res = requests.get(https://www.douyin.com/aweme/v1/web/aweme/detail/, params=_params, cookies=_cookies, headers=_headers)

请求接口返回的是JSON数据,解析响应结果, 提取视频网址(响应结果其中包括区别分辨率的视频,感兴趣的能够探索一下,这儿运用看清晰度)

video_url = res.json()["aweme_detail"]["video"]["play_addr"]["url_list"][0]获取视频位置后,起始构建下载视频请求, 并将其保留文件中with requests.get(video_url, headers={ "Referer": video_url, user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36, }, timeout=60) as r, open("./video.mp4", mode="wb") as file:

视频下载过程中可能会必须等待有些时间,能够单独起一个线程去下载。

以上获取视频位置的时候, cookie 中需要设置ttwid 和 s_v_web_id (两个值能够从浏览器 cookie 中获取), 否则, 很可能会触发验证码请求到空数据。网上有非常多资料解释这两个值,感兴趣的能够自动搜索,本文不做太多描述。(以上方式在2023年12月16日运用有效,后续倘若运用反常能够评论区踢我以下)

必须源代码的能够点赞,评论一起学习。

#文案首发挑战赛#





上一篇:Python 下载网页视频
下一篇:一行Python代码就能下载任意网站视频,零基本小白亦能容易学会
回复

使用道具 举报

2

主题

678

回帖

-3

积分

限制会员

积分
-3
发表于 2024-8-21 20:56:26 | 显示全部楼层
你的见解独到,让我受益匪浅,非常感谢。
回复

使用道具 举报

3112

主题

3万

回帖

9910万

积分

论坛元老

Rank: 8Rank: 8

积分
99108663
发表于 2024-10-9 13:02:03 | 显示全部楼层
我完全同意你的看法,期待我们能深入探讨这个问题。
回复

使用道具 举报

3129

主题

3万

回帖

9996万

积分

论坛元老

Rank: 8Rank: 8

积分
99968653
发表于 2024-10-29 23:40:28 | 显示全部楼层
网站建设seio论坛http://www.fok120.com/
回复

使用道具 举报

3112

主题

3万

回帖

9910万

积分

论坛元老

Rank: 8Rank: 8

积分
99108663
发表于 2024-11-6 08:35:52 | 显示全部楼层
你的努力一定会被看见,相信自己,加油。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|外链论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-18 08:14 , Processed in 0.111404 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.