爬虫-抖音无水印视频下载
直接撸代码,复制即用
import re
import requestsclass Douyin:def __init__(self,url):"""初始化:param url: 用手机分享的视频链接"""self.headers = {"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1"}self.url = url# 获取拼接视频播放地址的参数,获取网页源代码中的参数def get_url_data(self):res = requests.get(url=self.url, headers=self.headers).texttry:parent_rid = re.findall('parent_rid: "(.*?)"', res)[0]itemId = re.findall('itemId: "(.*?)"', res)[0]uid = re.findall('uid: "(.*?)"', res)[0]dytk = re.findall('dytk: "(.*?)"', res)[0]authorName = re.findall('authorName: "(.*?)"', res)[0].encode('utf-8').decode('unicode_escape') # 原为unicode编码 需要解码data = {"parent_rid": parent_rid,"itemId": itemId,"uid": uid,"dytk": dytk,"code": 0, # 这里定义一个状态码 0:成功 1:失败"authorName": authorName}return dataexcept Exception as e:data = {"code": 1}return data# 获取手机播放地址(只能把浏览器切换成手机模式播放视频)def get_phone_video_url(self,data):video_url = "https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids={}&dytk={}".format(data["itemId"],data["dytk"])rep = requests.get(url=video_url, headers=self.headers).json()try:for item in rep["item_list"]:desc = item["desc"] # 标题duration = item["duration"] # 时长url = item["video"]["play_addr"]["url_list"][0] # 一共两个视频链接 都可以播放 选择一个就行comment_count = item["statistics"]["comment_count"] # 评论数digg_count = item["statistics"]["digg_count"] # 点赞数data["desc"] = descdata["duration/(毫秒)"] = durationdata["duration/(分钟)"] = round(duration / 60000, 3) # 保留小数点后两位data["appurl"] = urldata["code"] = 0data["comment_count"] = comment_countdata["digg_count"] = digg_countreturn dataexcept Exception as e:data["code"] = 1return data# 获取web播放地址def get_video_web_url(self,data):if data["code"] == 0:res = requests.get(data["appurl"], headers=self.headers, allow_redirects=False).headersdata["url"] = res["location"]data.pop("appurl")return dataelse:return {}# 程序入口def main(self):url_data = self.get_url_data()phone_video_url = self.get_phone_video_url(url_data)data = self.get_video_web_url(phone_video_url)return dataif __name__ == '__main__':d = Douyin("https://v.douyin.com/cLf9Kn/") # 复制分享的视频链接w = d.main()print(w)
{'parent_rid': '20200406141604010194044226966C77', 'itemId': '6777940418903543055', 'uid': '60965882796', 'dytk': 'a81b990970be47f46d3e5037e275c7f6ce5a28e349ab64589492411443b90567', 'code': 0, 'authorName': '房岩小哥', 'desc': '千万不要熬夜了。这种结果你怕不怕', 'duration/(毫秒)': 50133, 'duration/(分钟)': 0.836, 'comment_count': 1709, 'digg_count': 47416, 'url': 'http://v6-dy-z.ixigua.com/c1f5f994a5f3f78a5e17ab39f06ee7a7/5e8ad767/video/tos/cn/tos-cn-ve-15/9a7f50ebae5c4712a536a0fdaed84e7a/?a=1128&br=0&bt=863&cr=0&cs=0&dr=0&ds=6&er=&l=2020040614160501001203309001599158&lr=&qs=0&rc=anQ3N3dmcHE0cjMzPGkzM0ApOmhoODU4PDxnNzpkZDw0OGdmaGJeL15mNjVfLS00LS9zczY0XjReMC1eM19iNF4wLjA6Yw%3D%3D&vl=&vr='}
爬虫-抖音无水印视频下载相关推荐
- Python 抖音无水印视频下载
引言 上篇文章讲到抖音首页视频的爬取和下载,于是我想到能不能下载特定的视频.网上搜索一番,发现有网站提供抖音无水印视频的下载,但是试了几个,发现下载下来都还是有水印的视频.上篇文章已经实现了首页无水印 ...
- 【python小白】抖音无水印视频下载小工具(windows)
无水印视频的方法大家都已经知道了,我很早之前也写了一个脚本.最近学习了一下下pyside2,所以我用python写了一个小工具. 运行图: from PySide2.QtWidgets import ...
- python下载b站视频_【python】抖音无水印视频下载和b站视频下载
本帖最后由 370125229 于 2020-3-27 17:38 编辑 萌新一枚,拿这个练练手 用python写的,部分视频可能还是会有水印 抖音 蓝奏: https://www.lanzous.c ...
- 抖音无水印视频下载方法
- 用 Python 下载抖音无水印视频
说起抖音,大家或多或少应该都接触过,如果大家在上面下载过视频,一定知道我们下载的视频是带有水印的,那么我们有什么方式下载不带水印的视频呢?其实用 Python 就可以做到,下面我们来看一下. 很多人学 ...
- python无水印下载视频_用 Python 下载抖音无水印视频
说起抖音,大家或多或少应该都接触过,如果大家在上面下载过视频,一定知道我们下载的视频是带有水印的,那么我们有什么方式下载不带水印的视频呢?其实用 Python 就可以做到,下面我们来看一下. 首先,我 ...
- 抖音上的python课程_用 Python 下载抖音无水印视频
说起抖音,大家或多或少应该都接触过,如果大家在上面下载过视频,一定知道我们下载的视频是带有水印的,那么我们有什么方式下载不带水印的视频呢?其实用 Python 就可以做到,下面我们来看一下. 首先,我 ...
- 抖音无水印视频爬虫(二)——爬虫的实现
抖音无水印视频爬虫(二)--爬虫的实现 前面的抖音无水印视频爬虫(一)--踩坑,已经讲了相关的原理以及实现的过程 一.环境&Python Modules 1.OS:Deepin 15.10.1 ...
- 用Python下载抖音无水印视频!
不知不觉距离小F最开始写的一篇抖音文章,时间也过了一年. 用Python全自动下载抖音视频! 上面这一篇阅读量是所有文章中阅读量最高的,当然还有另外两篇相关的. 用Python生成抖音字符视频! 用数 ...
- python下载抖音无水印视频
只要一刷抖音视频,基本上就是停不下来,看到一些喜欢的视频,就想下载下来,但是通过正常手段下载的视频都会带有抖音的水印,今天就一起来使用非正常手段来看看怎么获取无水印抖音视频. 1.获取视频链接地址 这 ...
最新文章
- ValueError: y_true and y_pred contain different number of classes 9, 2. Please provide the true labe
- CentOS下LAMP一键yum安装脚本
- hadoop配置安装
- java 获取当前函数名
- java动态代理二cglib
- python浅复制与深复制_Python中的浅复制与深复制
- (转)Spring Boot 2(一):【重磅】Spring Boot 2.0权威发布
- Redis基本命令及相关用法
- 微信小程序|基于小程序+C#实现聊天功能
- docx行间距怎么设置_word2017如何设置行间距.docx
- IDC发布最新中国AI云服务市场报告,百度智能云排名第一
- 商业银行vh是哪个银行的简称_各个银行的简称是什么?
- 饥荒控制台输入没用_《饥荒》控制台秘籍使用方法
- python词云生成与设计实现_基于python的词云生成(二)
- Muti-scale related papers
- 我的 iPhone XS Max 终于装上了这款高逼格数字时钟,优秀不优秀?!
- 双层pdf-不用手动添加目录超链接教程
- 自律才是通往自由的唯一捷径
- html3d轮播图片效果,CSS3,3D效果轮播图
- 命令查看spf_什么是SPF、邮箱域名SPF记录查询方法
热门文章
- 测量学-导线测量-测回法
- JavaScript设计模式:四、发布订阅模式
- 空间解析几何 | 向量、数量积、向量积、混合积、距离公式
- ShadowGun Shaders
- 蓝色动力(DVD版)GHOSTXP SP3纯净选择版V2012.06
- 热血江湖群医外挂源代码研究
- BooKuMaker0.6.04操作手册
- oracle查询备份存储路径,Oracle 数据库备份与恢复(RMAN介绍一)
- 禧龙字王 v1.0 beta 4 服务器版 是什么
- MySQL数据库酒店客房管理系统(含MySQL源码) 结课作业 做的不是很好