本文实例为大家分享了python实现抖音视频批量下载的具体代码,供大家参考,具体内容如下

这里就拿最近很火的抖音视频为例,利用API来实现用户抖音视频的批量下载

主要用到的模块有

1、requests模块;

2、bs4模块;

import requests

import bs4

import os

import json

import re

import sys

import time

from contextlib import closing

requests.packages.urllib3.disable_warnings()

class Spider():

def __init__(self):

self.headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36'

}

print('[INFO]:Douyin App Video downloader...')

print('[Version]: V1.0')

print('[Author]: Charles')

# 外部调用运行

def run(self):

user_id = input('Enter the ID:')

try:

int(user_id)

except:

print('[Error]:ID error...')

return

video_names, video_urls, nickname = self._parse_userID(user_id)

if nickname not in os.listdir():

os.mkdir(nickname)

print('[INFO]:Number of Videos ' % len(video_urls))

for num in range(len(video_names)):

print('[INFO]:Parsing ' % (num+1, video_urls[num]))

temp = video_names[num].replace('\\', '')

video_name = temp.replace('/', '')

self._downloader(video_urls[num], os.path.join(nickname, video_name))

print('\n')

print('[INFO]:All Done...')

# 视频下载

def _downloader(self, video_url, path):

size = 0

download_url = self._get_download_url(video_url)

with closing(requests.get(download_url, headers=self.headers, stream=True, verify=False)) as response:

chunk_size = 1024

content_size = int(response.headers['content-length'])

if response.status_code == 200:

sys.stdout.write('[File Size]: %0.2f MB\n' % (content_size/chunk_size/1024))

with open(path, 'wb') as f:

for data in response.iter_content(chunk_size=chunk_size):

f.write(data)

size += len(data)

f.flush()

sys.stdout.write('[Progress]: %0.2f%%' % float(size/content_size*100) + '\r')

sys.stdout.flush()

# 获得视频下载地址

def _get_download_url(self, video_url):

res = requests.get(url=video_url, verify=False)

soup = bs4.BeautifulSoup(res.text, 'lxml')

script = soup.find_all('script')[-1]

video_url_js = re.findall('var data = \[(.+)\];', str(script))[0]

html = json.loads(video_url_js)

return html['video']['play_addr']['url_list'][0]

# 通过user_id获取该用户发布的所有视频

def _parse_userID(self, user_id):

video_names = []

video_urls = []

unique_id = ''

while unique_id != user_id:

search_url = 'https://api.amemv.com/aweme/v1/discover/search/?keyword={}&count=10&type=1&aid=1128'.format(user_id)

res = requests.get(url=search_url, verify=False)

res_dic = json.loads(res.text)

uid = res_dic['user_list'][0]['user_info']['uid']

aweme_count = res_dic['user_list'][0]['user_info']['aweme_count']

nickname = res_dic['user_list'][0]['user_info']['nickname']

unique_id = res_dic['user_list'][0]['user_info']['unique_id']

user_url = 'https://www.douyin.com/aweme/v1/aweme/post/?user_id={}&max_cursor=0&count={}'.format(uid, aweme_count)

res = requests.get(url=user_url, verify=False)

res_dic = json.loads(res.text)

i = 1

for each in res_dic['aweme_list']:

share_desc = each['share_info']['share_desc']

if '抖音-原创音乐短视频社区' == share_desc:

video_names.append(str(i) + '.mp4')

i += 1

else:

video_names.append(share_desc + '.mp4')

video_urls.append(each['share_info']['share_url'])

return video_names, video_urls, nickname

if __name__ == '__main__':

sp = Spider()

sp.run()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

python 批量下载视频_python实现抖音视频批量下载相关推荐

  1. 短视频去水印助手 抖音视频怎样伪原创

             短视频去水印助手 抖音视频怎样伪原创          我们决定开始制作短片.如果您选择短视频合作伙伴,这些好处肯定会让您满意!,且头条广告福利还是可以的,普通广告一万的播放量是3~ ...

  2. 抖音python上的代码视频_资深程序员:十行Python代码教你爬取抖音视频!

    环境说明 环境: python 3.7.1 centos 7.4 pip 10.0.1 部署 [root@localhost ~]# python3.7 --version Python 3.7.1 ...

  3. 【日常分享】下载没水印的抖音视频

    打开要下载的视频,点击分享按钮,复制链接. 随便找个视频,复制的内容如下: 来到俄罗斯我才知道!#俄罗斯 #国外生活  #抖音热门 #抖音好物 #歪果仁系列 @抖音小助手@DOU+小助手  https ...

  4. rust爱拍视频解说_抖音视频制作必备Mac神器,上热门儿不是事儿

    在当下遍地都是网红的时代,抖音作为一个短视频发布平台,成就了众多普通人的网红梦. 还是那句老话,工欲善其事必先利其器,想要玩转抖音,手里没有几款称手的工具怎么行.借助这些工具可极大的提升吸粉效率,接下 ...

  5. python表白神器原理_python仿抖音表白神器

    Python能够干嘛? 可以做日常任务,比如自动备份你的MP3: 可以做网站,很多著名的网站像知乎.YouTube就是Python写的: 可以做网络游戏的后台,很多在线游戏的后台都是Python开发的 ...

  6. 批量制作左右镜像效果抖音视频

    怎么批量制作左右镜像效果的视频,首先我们在手机上安装应用程序"王者剪辑app",启动软件并进入一键剪辑中的"特效应用"功能, 批量导入或导入一个视频, 接着选择 ...

  7. xpanx原理解析 | 只要 3 秒!抖音视频无水印下载

    哈啰,这里是「xpanx」,又来给大家分享「奇技淫巧」啦! 获取更多的黑科技知识,可以点击上方的专辑目录「xpanx」查看. 抖音无水印下载方法 今天给大家分享一个不需要借助任何工具或者网站,即可下载 ...

  8. 抖音视频无水印下载工具 绿色版

    抖音视频无水印下载是一款用于抖音视频解析出来并下载的下载工具.可以轻松下载自己喜欢的视频,而且无水印,需要的快来下载使用吧! 抖音视频无水印下载 [工具特点] 支持解析任何抖音视频 解析出来的视频没有 ...

  9. 用python解析抖音视频

    你可以使用 Python 的第三方库来解析抖音视频.其中有一个比较常用的库叫做 "pydouyin",你可以使用它来获取抖音视频的信息. 要安装这个库,你可以在命令行输入以下命令: ...

  10. uniapp怎么调起摄像头拍视频_抖音视频怎么拍?我们总结了10个手机视频拍摄小技巧...

    抖音的很多功能与小咖秀类似,但不同的是,抖音用户可以通过视频拍摄的快慢.视频编辑和特效等技术让作品更具创造性,而不是简单地对嘴型. 抖音短视频的10个拍摄技巧,帮助你方便.快捷地制作出更加优质的短视频 ...

最新文章

  1. ISC 2020技术日丨 网络空间危机四伏,如何发现威胁的蛛丝马迹?
  2. java精确测量文本高度_Android精确测量文本宽高及基线位置的方法
  3. 采用EntityFramework.Extended 对EF进行扩展(Entity Framework 延伸系列2)
  4. 批量将PPM格式图片转化为JPG格式
  5. Java集合Set,List和Map等
  6. 如何在CentOS 7中配置静态IP地址
  7. Docker:unauthorized: incorrect username or password.
  8. (转)shiro权限框架详解06-shiro与web项目整合(下)
  9. sql 转置_SQL 如何实现动态的行列转置
  10. FreeRTOS内核实现05:支持多优先级
  11. 【数据结构】1、零碎知识点集合
  12. Linux上层应用--git独奏
  13. 【数据分析】最常用的数据分析方法(干货)
  14. Microsoft Office Excel 已停止工作
  15. EasyClick 原生UI 制作水印图
  16. 一年级金字塔框填数字_一年
  17. 服务器域共享文件夹,访问域共享文件夹
  18. 【AAAI2023】视觉辅助的常识知识获取Visually Grounded Commonsense Knowledge Acquisition 个人学习笔记
  19. 复旦微的FMQL10S400ZYNQ芯片的多核操作
  20. git修改已提交的信息

热门文章

  1. 企业网络项目投标范文
  2. 使用PHP连接MySQL数据库的代码
  3. Windows Server 2008 (IIS)
  4. 修订的GRE分类词汇(截屏版)
  5. 大数据平台搭建技术底座 四行业迎来新机遇
  6. 不能创建对象qmdispatch_ActiveX部件不能创建对象的终极解决方案
  7. linux设置进程开机启动,Linux应用程序开机自动启动设置方法
  8. 单词风暴2009免费分享版
  9. 盒子不显示工会与服务器,DNF天空盒子找不到怎么办 dnf新版本活动防坑指攻略...
  10. 获取GeoScene Pro 90天免费试用版