python下载大文件mp4_python 实现视频流下载保存MP4的方法
# -*- coding:utf-8 -*-
import sys
import os
from glob import glob
import requests
reload(sys)
sys.setdefaultencoding("utf-8")
file_path=os.getcwd()
#获取需要转换的路径
def get_user_path(argv_dir):
if os.path.isdir(argv_dir):
return argv_dir
elif os.path.isabs(argv_dir):
return argv_dir
else:
return False
#对转换的TS文件进行排序
def get_sorted_ts(user_path):
ts_list = glob(os.path.join(user_path,'*.ts'))
boxer = []for ts in ts_list:
if os.path.exists(ts):
# print(os.path.splitext(os.path.basename(ts)))
file,_ = os.path.splitext(os.path.basename(ts))
print file
boxer.append(file)
# boxer.append(int(file))
boxer.sort()
print(boxer)
return boxer
#文件合并
def convert_m3u8(file_path,boxer,o_file_name):
print u"开始拼接视频"
new_path=file_path+"/"+u"视频"
try:
os.chdir(new_path)
except Exception, e:
os.mkdir(new_path)
tmp = []for ts in boxer:
print ts
tmp.append(str(ts)+'.ts')
cmd_str = '+'.join(tmp)
exec_str = "copy /b "+cmd_str+' '+o_file_name
print("copy /b "+cmd_str+' '+o_file_name)
os.chdir(user_path)
os.system(exec_str)
print "go home path"
import shutil
shutil.move(o_file_name,new_path+"/"+o_file_name)
os.chdir(file_path)
reload(sys)
sys.setdefaultencoding('utf-8')
# 功能:爬取m3u8格式的视频
# 检查存储路径是否正常
def check_path(_path):
# 判断存储路径是否存在
if os.path.isdir(_path) or os.path.isabs(_path):
# 判断存储路径是否为空
if not os.listdir(_path):
return _path
else:
print u'>>>[-] 目标文件不为空,将清空目标文件,是否更换路径?'
flag = raw_input('>>>[*] Yes:1 No:2 n>>>[+] [2]')
try:
if flag == '1':
_path = raw_input(unicode('>>>[+] 请输入目标文件路径。n>>>[+] ').encode('gbk'))
check_path(_path)
else:
# 清空存储路径
os.system('rd /S /Q ' + _path)
os.system('mkdir ' + _path)
return _path
except Exception as e:
print e
exit(0)
else:
os.makedirs(_path)
return _path
# 获取ts视频的爬取位置
def get_url(_url, _path):
all_url = _url.split('/')
url_pre = '/'.join(all_url[:-1]) + '/'
url_next = all_url[-1]
os.chdir(_path)
# 获取m3u8文件
m3u8_txt = requests.get(_url, headers = {'Connection':'close'})
with open(url_next, 'wb') as m3u8_content:
m3u8_content.write(m3u8_txt.content)
# 提取ts视频的url
movies_url = []_urls = open(url_next, 'rb')
for line in _urls.readlines():
if '.ts' in line:
movies_url.append(url_pre + line[:-1])
else:
continue
_urls.close()
return movies_url
# 爬取ts视频
python下载大文件mp4_python 实现视频流下载保存MP4的方法相关推荐
- python 下载视频文件_python 实现视频流下载保存MP4的方法
如下所示: # -*- coding:utf-8 -*- import sys import os from glob import glob import requests reload(sys) ...
- python下载大文件mp4_Python代码打开本地.mp4格式文件的方法
Python代码打开本地.mp4格式文件的方法 想通过编写Python代码来打开本地的.mp4格式文件,使用os模块来操作文件.我的电脑默认的是QQ影音播放器,执行Python代码打开默认播放器,播放 ...
- python下载大文件mp4_python合并大量ts文件成mp4格式(ps:上限是450,亲测)
原博文 2018-08-22 17:34 − 1 import os 2 #exec_str = r'copy /b ts/c9645620628078.ts+ts/c9645620628079.ts ...
- python下载大文件mp4_Python 下载 m3u8 格式视频
Python requests 下载 m3u8 格式 视频 最近爬取一个视频网站,遇到 m3u8 格式的视频需要下载. 抓包分析,视频文件是多个 ts 文件,什么是 ts文件,请去百度吧: 附图:抓包 ...
- python下载大文件mp4_python下载mp4 同步和异步下载支持断点续下
Range 用于请求头中,指定第一个字节的位置和最后一个字节的位置,一般格式: Range:(unit=first byte pos)-[last byte pos] Range 头部的格式有以下几种 ...
- Java笔记-使用RestTemplate下载大文件,并且设置下载时间
如果文件大,Java会报OOM(out of memory).使用ResponseExtractor将远程服务器中的文件直接转成流存到文件中,而不放到内存. 事例代码如下: @GetMapping(& ...
- [MAC]Google Drive下载大文件
在使用Chrome从Google Drive下载8G数据集的过程中,多次出现网络错误问题导致下载失败,特在此记录解决方法. 下载前提:已成功翻墙 一.出错原因: Google Drive下载大文件的时 ...
- 如何解决百度云下载大文件限速问题
最痛苦的事情莫过于下载一个N个G的文件,而速度只有80k/s. 有一个东西叫百度云会员 我想,大部分人都很痛恨下载限速吧?尤其是当360云关门大吉后,百度云就可以更加嚣张的为所欲为了.不开百度云会员, ...
- 百度云不限速c语言,如何解决百度云下载大文件限速问题
最痛苦的事情莫过于下载一个N个G的文件,而速度只有80k/s. 有一个东西叫百度云会员 我想,大部分人都很痛恨下载限速吧?尤其是当360云关门大吉后,百度云就可以更加嚣张的为所欲为了.不开百度云会员, ...
最新文章
- 【组合数学】生成函数 简要介绍 ( 生成函数定义 | 牛顿二项式系数 | 常用的生成函数 | 与常数相关 | 与二项式系数相关 | 与多项式系数相关 )
- SFrame中的apple函数
- u盘文件看得见却打不开_【U盘】国产开源U盘启动制作工具
- linux中oracle数据乱码,Linux系统Oracle数据库乱码问题的解决方法
- vue实战学习第二天
- 云服务器 性能监控软件,云监控 - 云应用监控 - ManageEngine Applications Manager
- oracle备份信息在控制文件丢失,恢复之利用备份在所有控制文件丢失情况下恢复(一)...
- python停止运行_python停止不了
- android banner 高度,Android Banner 的简单使用步骤
- Mybatis-plus 代码生成器(新)工具类
- 分享一个数据库在线文档系统
- java word书签_Java 给Word中的指定字符串添加书签
- 一个人能不能月薪过万,放个小长假就知道了
- 互联网运营常用8大数据分析模型
- java程序一图片为背景_利用Java处理图片,更换背景
- 广告商业形态与应用架构
- 如何查看一个期刊是sci几区以及影响因子 入藏号 ISSN等信息
- spanning tree protocol
- wap端使用a标签跳转不刷新问题
- (三)JVM成神路之全面详解执行引擎子系统与JIT即时编译原理
热门文章
- 2015年全年目标及执行情况跟踪
- iOS中AutoLayout自动布局,自适应高度
- Backbone的RESTFUL API 解释
- hdu1426 Sudoku Killer
- 减法运算的借位标志cf_数学|有理数运算法则及题型汇总
- powershell cs上线_BasUSB实现后台静默执行上线CobaltStrike
- 比亚迪王传福评价小米造车
- Beyond Compare Pro for Mac
- Java之添加环境变量
- Python报错:module ‘turtle’ has no attribute ‘pensize’