爬虫-抖音无水印视频下载
直接撸代码,复制即用
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.获取视频链接地址 这 ...
最新文章
- 计算机组成原理相关事例,计算机组成原理(示例代码)
- linuxDNS服务器的部署
- mysql中取出的时间日期多个.0
- visual studio code 调试ROS的插件
- 工作队列 order linux,linux 工作队列(workqueue)
- GDB与远程(交叉)GDB调试
- chrome浏览器无法加载百度网页启动组件怎么办
- u盘模式 linux hi3518,嵌入式 RT3070_STA驱动移植到hi3518c平台小结
- 【hortonworks/registry】创建嵌套结构的scheam和带空值的schema
- HBase之四--(1):Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询...
- 求解偏微分方程开源有限元软件deal.II学习--Step 9
- Java学到什么程度可以面试工作?
- 如何免费下载B站视频!!!实测可用!!!
- Android浏览器翻译功能调研
- mysql存储字典,详解MySQL-8.0数据字典
- 前端调用手机相机拍照
- vue2.0,3.0官网
- kafka学习(六)
- Tomcat 环境变量配置
- 浪潮受邀出席“市长论坛-深圳智慧城市国际圆桌研讨会”