合并百度影音的离线数据 with python
最近很多网站都用百度影音技术,没想到手机版的使用感觉也不错。不过用手机在线看比较费电,当然我优先选择离线下载了。
简单过了一遍下载的目录,每个文件夹包含一个索引文件和4M大小的若干个视频文件。
最初接触时候,视频文件用guid作为文件名,需要分析索引文件决定先后顺序。
不过最近版本bdre文件替代了索引文件,记录一些下载地址等信息。
视频文件也统一命名格式了。
目前似乎支持bdv和rmvb的格式,一般打开文件夹里面往往是A.rmvb_0000 A.rmvb_0001...;或者是A.bdv_0000 A.bdv_0001...
bdv文件合并之后,后缀名改成avi即可使用。
合并比较简单:
对于rmvb格式:
在windows平台 copy /b A.rmvb_* A.rmvb
linux平台 cat A.rmvb_* > A.rmvb
对于bdv格式:
在windows平台 copy /b A.bdv_* A.avi
linux平台 cat A.bdv_* > A.avi
有时候同时下载很多视频时候,每个文件夹过一次也比较吃力。
所以顺便写一个python脚本。
首先,复制视频目录到本地硬盘,例如c:\movie
然后,运行脚本,产生一个film.bat文件
最后,你可以看见c:\movie有若干个视频文件。
----------------------------------------------------------------------------------------------------
请保存为makemovie.py后,执行。这是针对windows平台。
# -*- coding: UTF-8 -*-import os
import io
import string
import shutildef read_video_file(brpFilmFolder): for fileitem in os.listdir(brpFilmFolder): targetfile = os.path.join(brpFilmFolder,fileitem) if(os.path.isfile(targetfile) == False):continue;filebasename , fext = os.path.splitext(fileitem); if(string.lower(fext) != ".rmvb_0000"):continue; else:print(filebasename)return filebasenamereturn None# list brp files # read brp file
def enum_video_file(brpFolder,batch_line): for fileitem in os.listdir(brpFolder): targetfile = os.path.join(brpFolder,fileitem) if(os.path.isfile(targetfile) == True):continue;filebasename = read_video_file(targetfile)if(filebasename is None):continue;batch_line.append('cd \"%s\"' % targetfile) batch_line.append('copy /b \"%s\".rmvb_* ..\\\"%s\".rmvb' % (filebasename,filebasename))batch_line.append('cd ..')def create_report(brpFolder):try:batch_line = list()# list brp files enum_brp_file(brpFolder,batch_line)# create bat fileobjTar = open('film.bat','w+')# write list to filefor line in batch_line:objTar.write(' %s\r\n' %(line)) # close fileobjTar.close() except Exception as exc: print("%s" % exc); if __name__ == '__main__': searchFolder = os.getcwd()create_report(searchFolder)print("done");
转载于:https://www.cnblogs.com/febwave/archive/2013/06/06/3122705.html
合并百度影音的离线数据 with python相关推荐
- 合并百度影音的离线数据 with python 2.1 bdv格式的更新
最近百度影音的离线下载文件,格式有新变化. 经过分析,是bdv格式又有新格式,从最初的bdv0001,到bdv.config 的file....,这次更新的格式是直接包含一个片段,其中还有使用guid ...
- 合并百度影音的离线数据 with python 2.2 bdv格式的更新
百度影音的bdv格式又有变化. 此次存在2种bdv格式. 格式1:每个文件夹内就一个bdv文件,文件合并后改名avi即可. 格式2:每个文件夹内一个bdv文件作为索引,其他附加guid的文件作为数据. ...
- 合并百度影音的离线数据 with python 第二版 基于yield
重新整理了一下代码. 增加了bdv,mkv的处理流程. 目前暂时支持windows平台. bdv,mkv,rmvb的不同处理流程 # -*- coding: UTF-8 -*-import os im ...
- 批量爬起百度图片上的数据代码--python
直接复制粘贴就可以了,不需要进行更改更合参数,谢谢 第一个代码: import requests import os import urllibclass Spider_baidu_image():d ...
- python 批量读取xlsx并合并_python合并多个excel表格数据-python如何读取多个excel合并到一个excel中...
python如何读取多个excel合并到一个excel中 思路 利用python xlrd包读取excle文件,然后将文件内容存入一个列表中,再利用xlsxwriter将内容写入到一个新的excel文 ...
- python 实现对地图的点击_利用python和百度地图API实现数据地图标注的方法
如题,先上效果图: 主要分为两大步骤 使用python语句,通过百度地图API,对已知的地名抓取经纬度 使用百度地图API官网的html例程,修改数据部分,实现呈现效果 一.使用python语句,通过 ...
- 百度云批量离线python程序
有时下载一些资源时很慢,无意中发现百度云可以离线下载,利用这一功能可以将文件存到云盘里,这样再下载就快了, 有时要离线的资源多,一个个来太费手,就想能不能批量离线,可惜人家并没有提供这个功能. 曾看到 ...
- [Python]百度慧眼人口热力图数据爬取--以深圳市为例
百度慧眼人口热力图数据爬取--以深圳市为例 数据爬取 坐标转换 1.读取坐标映射表 2.利用sklearn进行回归分析 3.坐标转换输出 完整代码 利用python爬取深圳市百度慧眼人口热力图数据,线 ...
- Python 算法交易实验56 ADBS:QuantData-灌入离线数据
说明 上一回说到,通过ADBS构建了一个分钟级的实时数据源.这次打算将RQ的静态数据也灌入这个ADBS. 内容 1 下载数据 start_date = '2000-01-01' end_date = ...
最新文章
- linux常用命令汇总
- ping 丢包 网络摄像头_视频监控系统的摄像头掉线看交换机连接注意事项
- 从源码分析DEARGUI之add_color_int和4
- JSON进阶第二篇 AJAX方式传递JSON数据
- javascript运动系列第七篇——鼠标跟随运动
- scala中命名参数函数_Scala中带有命名参数的函数
- 你的企业离DevOps转型成功,就差这“七步法”路线图
- Android应用app数据请求捕捉三步走
- 郭天祥《新概念51单片机C语言教程》序言
- DZ免费插件-discuz插件-DZ天堂
- lisp一键室内标注_CAD插件:自动标注面积lisp程序
- 如何将 Mac 显示器投放到 Apple TV 或非 Apple 智能电视?
- EMQ X 工业物联网解决方案
- 19年清北学堂冬令营游记
- java pfx_如何在Java中读取.pfx文件的内容?
- spring cloud 集成sentinel 报错 Failed to introspect Class
- win7 修改屏幕休眠时间
- python与分形0018 - 【教程】奥林匹克烯
- 爬取哔哩哔哩综合排行榜信息及视频弹幕内容
- Cypher语法简介