导读: 本文 介绍了如何使用简单的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&timestamp=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批量下载 抖音无水印视频!相关推荐

  1. python批量下载抖音无水印视频,附软件

    网上很多那种抖音视频解析,去水印下载的网站,不过都只可以下单个,下下来大多数标题还是乱码.一点都不geek. 咱们懒人找资源的粉丝最大的优点就是懒,这种重复性的活python帮咱们搞定. 批量下载抖音 ...

  2. 用Python下载抖音无水印视频!

    不知不觉距离小F最开始写的一篇抖音文章,时间也过了一年. 用Python全自动下载抖音视频! 上面这一篇阅读量是所有文章中阅读量最高的,当然还有另外两篇相关的. 用Python生成抖音字符视频! 用数 ...

  3. 用 Python 下载抖音无水印视频

    说起抖音,大家或多或少应该都接触过,如果大家在上面下载过视频,一定知道我们下载的视频是带有水印的,那么我们有什么方式下载不带水印的视频呢?其实用 Python 就可以做到,下面我们来看一下. 很多人学 ...

  4. python无水印下载视频_用 Python 下载抖音无水印视频

    说起抖音,大家或多或少应该都接触过,如果大家在上面下载过视频,一定知道我们下载的视频是带有水印的,那么我们有什么方式下载不带水印的视频呢?其实用 Python 就可以做到,下面我们来看一下. 首先,我 ...

  5. 抖音上的python课程_用 Python 下载抖音无水印视频

    说起抖音,大家或多或少应该都接触过,如果大家在上面下载过视频,一定知道我们下载的视频是带有水印的,那么我们有什么方式下载不带水印的视频呢?其实用 Python 就可以做到,下面我们来看一下. 首先,我 ...

  6. python下载抖音无水印视频

    只要一刷抖音视频,基本上就是停不下来,看到一些喜欢的视频,就想下载下来,但是通过正常手段下载的视频都会带有抖音的水印,今天就一起来使用非正常手段来看看怎么获取无水印抖音视频. 1.获取视频链接地址 这 ...

  7. 【python小白】抖音无水印视频下载小工具(windows)

    无水印视频的方法大家都已经知道了,我很早之前也写了一个脚本.最近学习了一下下pyside2,所以我用python写了一个小工具. 运行图: from PySide2.QtWidgets import ...

  8. python抖音github_使用 Python 下载抖音无水印视频

    抖音 APP 中保存到本地就是无水印版本的,所以头条的服务器肯定是保存有无水印版本的抖音视频的,所以只要找到接口地址就可以搞定.先在网上搜罗了一圈,确实有人已经做了解析,还提供了收费解析服务. 搜索之 ...

  9. 使用Python下载抖音无水印视频

    抖音 APP 中保存到本地就是无水印版本的,所以头条的服务器肯定是保存有无水印版本的抖音视频的,所以只要找到接口地址就可以搞定.先在网上搜罗了一圈,确实有人已经做了解析,还提供了收费解析服务. 搜索之 ...

最新文章

  1. 微软职位内部推荐-Software Development Engineer II
  2. 中国芯片研究再获国际顶会最佳论文提名!清华魏少军、刘雷波团队出品
  3. 暑假第六周总结(2018.8.13-8.19)
  4. 图标和文字跟着div比例放大缩小_Word文档页面显示比例与单页多页,文本的输入、修改、删除与插入...
  5. 由一次代码优化想到的Js 数据类型
  6. 【数据结构】图文详解Treap平衡树
  7. WINDOWS NPAPI插件小结
  8. 432.全O(1)的数据结构
  9. 100天,Python从入门到精通!
  10. Windows Server 2012安装密钥
  11. si4463如何读取RSSI
  12. 关于jsp表单提交中action所指向Servlet路径问题的总结
  13. Oracle 繁简体转换(未解决)
  14. 第二人生的源码分析(9)登录界面显示
  15. oracle 卸载清除,Oracle终极彻底卸载的完整步骤
  16. 服务器显示屏 超出工作频率范围,win7显示器超出工作频率范围怎么解决
  17. 这款 SQL自动检查神器,吊炸天的功能,真TMD多!!
  18. pygame-KidsCanCode系列jumpy-part18-背景滚动
  19. 前端项目实战95-数组遍历继续处理
  20. 用style标签的background-image属性 改变图片大小

热门文章

  1. msm android机型适配,小米系统MIUI10适配全机型了,高通机型通用适配,高通通刷包...
  2. WeBASE应用管理案例:久誉软件贡献供应链支付结算应用
  3. Day1: 正点原子mini-linux 开发板 开机测试
  4. DCDC基础(7)-- 同步BUCK芯片的电性能参数解读一
  5. 大乱斗ps4好玩吗_《马里奥赛车》夺冠,网友票选“最好玩的马里奥游戏”
  6. esp8266实现coap协议。
  7. Atlas 2.2.0 集成janusgraph 0.6.2
  8. Python脚本和C#的互相调用
  9. 辽宁高考成绩查询电话2021,辽宁高考成绩查询电话号码多少,2021年辽宁高考查分电话...
  10. 设计模式-责任链模式之**动态配置责任链**