Python批量下载 抖音无水印视频!
导读: 本文 介绍了如何使用简单的Python爬虫爬取抖音上你喜欢的拍客的所有视频(包含 有水印和 无水印两种 )。 代码已上传至公众号后台,回复: 抖音 即可获得。
一、获取你喜欢的拍客的视频url
即 抖音用户主页的url ,我将以罗永浩的主页连接为例(本人第一次下载抖音就是冲着 罗永浩
去的,所以也只关注了他一个人)
1. 获取主页链接
打开抖音,点进用户的主页面,点击右上角的三个点:
选择分享:
再点击 复制链接 即可,我们可以获取如下url:
https://v.douyin.com/JJ8b6Hq/
2. 获取重定向链接
我们只需要将上面这个链接粘贴到chrome浏览器,就可以获取到重定向链接
重定向后的链接:
https://www.iesdouyin.com/share/user/4195355415549012?u_code=c23d6456gli&sec_uid=MS4wLjABAAAAlwXCzzm7SmBfdZAsqQ_wVVUbpTvUSX1WC_x8HAjMa3gLb88-MwKL7s4OqlYntX4r×tamp=1590603009&utm_source=copy&utm_campaign=client_share&utm_medium=android&share_app_name=douyin
现在我们需要记住url中/user后面的一串数字,也就是4195355415549012,这是我们的用户id。以后只要有了这样的用户ID,直接替换进url即可(时间戳也需要修改一下)
二、获取用户下面的所有的视频id
我们刚刚获取了视频主页的链接,现在我们要通过主页链接来获取当前页面下的所有视频。为了方便我们观看和调试,我们将Chrome开成iPhone模式。
1. 获取请求链接
将Network设置成XHR,重新刷新一下页面,获取请求内容:
我们可以看到上面选中的那个请求,返回的是一串json,我们将内容复制下来看看,搜索返回的json中有关video的字段,通过下图我们就可以看到video里面有个url_list,里面有两个不同的url,这两个url其实就是视频相关的地址了,但是还有点问题,这两个url点进去并不能直接看到视频。
2. 获取视频链接
这里我们需要将url做一点点修改。我们将/play修改成/playmw就可以了,这个时候我们发现,这两个视频地址被重定向成正常的视频地址了。(下面来说为什么要加mw,这个代表什么)
这样我们就相当于顺利拿到视频的地址了, 我们 可以去json中 获取所有的视频url链接:
pattern = re.compile('"(https://aweme.snssdk.com/aweme/v1/play/.*?)"') result = pattern.findall(data) result = [i.replace("/play/", "/playwm/") for i in result] for i in result:print(i)
3. 水印问题
关于水印问题,看了简书上有篇文章有介绍,水印与无水印之间的区别,这边我就不作详细介绍了。其实我们一开始拿到的url就是无水印的,但是链接本身并没重定向到无水印的视频,加上wm之后,url会重定向到有水印的视频。
简书参考链接 :
https://www.jianshu.com/p/af02f00729c5
水印链接:
https://aweme.snssdk.com/aweme/v1/playwm/?video_id=v0200fc60000br74l173cp5c4comdoh0&line=0
无水印链接:
https://aweme.snssdk.com/aweme/v1/play/?video_id=v0200fc60000br74l173cp5c4comdoh0&line=0
(多余的参数忽略,不管他)
三、下载视频
有了视频链接和获取有无水印的方法之后,我们就可以直接下载视频了。
import json import re import requests import os data = json.dumps(data) pattern = re.compile('"(https://aweme.snssdk.com/aweme/v1/play/.*?)"') result = pattern.findall(data) result = [i.split("&ratio")[0] for i in result] result2 = [i.replace("/play/", "/playwm/") for i in result]for i in result:print(i) headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.92 Safari/537.36', } if not os.path.exists("无水印"):os.mkdir("无水印") if not os.path.exists("水印"):os.mkdir("水印")count = 0 for res1 in result:count += 1videoBin = requests.get(res1, timeout=5, headers=headers)with open(f'无水印/{count}.mp4', 'wb') as fb:fb.write(videoBin.content) count = 0 for res2 in result2:count += 1videoBin = requests.get(res2, timeout=5, headers=headers)with open(f'水印/{count}.mp4', 'wb') as fb:fb.write(videoBin.content)
关于单个视频下载,如果你想下载某单个无水印视频,可以直接通过分享链接进行下载:
url = "https://v.douyin.com/JJ8kVTc/" # 分享链接 session = requests.Session() req = session.get(url, timeout=5, headers=HEADERS) print(req.text) video = re.findall(r'playAddr: "([\S]*?)"', req.text)[0] vid = re.findall(r'vid=([\S]*?)&', video)[0] addr = video.replace("/playwm/", "/play/") # 去除水印 print(addr) headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.92 Safari/537.36', } videoBin = session.get(addr, timeout=5, headers=headers) with open('test.mp4', 'wb') as fb:fb.write(videoBin.content)
四、结语
本文首先通过分享链接来获取接口数据,之后在接口数据中查找视频数据,找到视频内容之后再完成视频下载。爬取过程非常的简单,主要就是查找ID会比较吃力。适合爬虫的新手。
源码获取私信小编01哦!
Python批量下载 抖音无水印视频!相关推荐
- python批量下载抖音无水印视频,附软件
网上很多那种抖音视频解析,去水印下载的网站,不过都只可以下单个,下下来大多数标题还是乱码.一点都不geek. 咱们懒人找资源的粉丝最大的优点就是懒,这种重复性的活python帮咱们搞定. 批量下载抖音 ...
- 用Python下载抖音无水印视频!
不知不觉距离小F最开始写的一篇抖音文章,时间也过了一年. 用Python全自动下载抖音视频! 上面这一篇阅读量是所有文章中阅读量最高的,当然还有另外两篇相关的. 用Python生成抖音字符视频! 用数 ...
- 用 Python 下载抖音无水印视频
说起抖音,大家或多或少应该都接触过,如果大家在上面下载过视频,一定知道我们下载的视频是带有水印的,那么我们有什么方式下载不带水印的视频呢?其实用 Python 就可以做到,下面我们来看一下. 很多人学 ...
- python无水印下载视频_用 Python 下载抖音无水印视频
说起抖音,大家或多或少应该都接触过,如果大家在上面下载过视频,一定知道我们下载的视频是带有水印的,那么我们有什么方式下载不带水印的视频呢?其实用 Python 就可以做到,下面我们来看一下. 首先,我 ...
- 抖音上的python课程_用 Python 下载抖音无水印视频
说起抖音,大家或多或少应该都接触过,如果大家在上面下载过视频,一定知道我们下载的视频是带有水印的,那么我们有什么方式下载不带水印的视频呢?其实用 Python 就可以做到,下面我们来看一下. 首先,我 ...
- python下载抖音无水印视频
只要一刷抖音视频,基本上就是停不下来,看到一些喜欢的视频,就想下载下来,但是通过正常手段下载的视频都会带有抖音的水印,今天就一起来使用非正常手段来看看怎么获取无水印抖音视频. 1.获取视频链接地址 这 ...
- 【python小白】抖音无水印视频下载小工具(windows)
无水印视频的方法大家都已经知道了,我很早之前也写了一个脚本.最近学习了一下下pyside2,所以我用python写了一个小工具. 运行图: from PySide2.QtWidgets import ...
- python抖音github_使用 Python 下载抖音无水印视频
抖音 APP 中保存到本地就是无水印版本的,所以头条的服务器肯定是保存有无水印版本的抖音视频的,所以只要找到接口地址就可以搞定.先在网上搜罗了一圈,确实有人已经做了解析,还提供了收费解析服务. 搜索之 ...
- 使用Python下载抖音无水印视频
抖音 APP 中保存到本地就是无水印版本的,所以头条的服务器肯定是保存有无水印版本的抖音视频的,所以只要找到接口地址就可以搞定.先在网上搜罗了一圈,确实有人已经做了解析,还提供了收费解析服务. 搜索之 ...
最新文章
- 微软职位内部推荐-Software Development Engineer II
- 中国芯片研究再获国际顶会最佳论文提名!清华魏少军、刘雷波团队出品
- 暑假第六周总结(2018.8.13-8.19)
- 图标和文字跟着div比例放大缩小_Word文档页面显示比例与单页多页,文本的输入、修改、删除与插入...
- 由一次代码优化想到的Js 数据类型
- 【数据结构】图文详解Treap平衡树
- WINDOWS NPAPI插件小结
- 432.全O(1)的数据结构
- 100天,Python从入门到精通!
- Windows Server 2012安装密钥
- si4463如何读取RSSI
- 关于jsp表单提交中action所指向Servlet路径问题的总结
- Oracle 繁简体转换(未解决)
- 第二人生的源码分析(9)登录界面显示
- oracle 卸载清除,Oracle终极彻底卸载的完整步骤
- 服务器显示屏 超出工作频率范围,win7显示器超出工作频率范围怎么解决
- 这款 SQL自动检查神器,吊炸天的功能,真TMD多!!
- pygame-KidsCanCode系列jumpy-part18-背景滚动
- 前端项目实战95-数组遍历继续处理
- 用style标签的background-image属性 改变图片大小
热门文章
- msm android机型适配,小米系统MIUI10适配全机型了,高通机型通用适配,高通通刷包...
- WeBASE应用管理案例:久誉软件贡献供应链支付结算应用
- Day1: 正点原子mini-linux 开发板 开机测试
- DCDC基础(7)-- 同步BUCK芯片的电性能参数解读一
- 大乱斗ps4好玩吗_《马里奥赛车》夺冠,网友票选“最好玩的马里奥游戏”
- esp8266实现coap协议。
- Atlas 2.2.0 集成janusgraph 0.6.2
- Python脚本和C#的互相调用
- 辽宁高考成绩查询电话2021,辽宁高考成绩查询电话号码多少,2021年辽宁高考查分电话...
- 设计模式-责任链模式之**动态配置责任链**