python脚本处理下载的b站学习视频

作为常年在b站学习的我,一直以来看到有兴趣的视频,从来都是点赞收藏下载三连,但是苦于我那小钢炮iphone se屏幕大小有限,看起视频实在费劲,决定一定要找个下载电脑上下载b站视频的方法,以前用过硕鼠,可惜速度不行,批量解析也会出些问题,就没用了,后来也用过一些其他小工具,效果都不咋样,今天真是发现神器了,还支持迅雷下载,速度6M多美妙,真是美滋滋??

下面重磅教程来袭:

一、找到视频的播放地址,如“七周成为数据分析师”,此视频地址为:https://www.bilibili.com/video/av46196018

二、修改原地址为:https://www.kanbilibili.com/video/av46196018,即在“bilibili”前加“kan”,搜索该地址

三、在新的网页如下位置点击获取地址

四、选择视频清晰度,然后加载出所有视频列表

五、在选项栏中选择批量下载,拿到下载地址

六、使用迅雷下载

据说迅雷极速版更好用?

链接:https://pan.baidu.com/s/1TxMi0z-HMBTiglqycAvAbQ
提取码:aihf

downloading......

downloading......

downloading......
待下载完成,发现视频标题都变成数字了,而不是原来含有视频信息的标题!

分析可知,尽管都是数字,但它们都是有规律的,这些数字从小到大排列正好是原来的标题顺序,所有解决办法就是拿到原来的标题列表,将其和下载到的标题小到大顺序排列的列表进行一一组合,最终得到的每一个组合就包含下载的数字标题名字和含视频信息的标题名字,那么我们将其一一重命名即可,具体操作如下:

七、利用开发者工具,定位到视频列表,获取列表css元素

八、根据该列表的html+css信息,在console控制台获取含视频信息的标题名字列表

复制内容到python项目下7week.txt文档

九、可见含视频信息的标题名字列表仍有多余信息,如“P11.1:为什么需要七周” 变为 “1:为什么需要七周”更好,编写formatter.py脚本,对7week.txt每行内容替换字符串。

formatter.py:

# -*- coding:utf-8 -*-
# Author: Tarantiner
# @Time :2019/4/26 20:26

import re

with open(‘7week.txt‘, ‘r+‘, encoding=‘utf-8‘)as f:
    name_lis = []
    for index, line in enumerate(f.readlines()):
        name = re.sub(‘P\d+\.\d+ ?‘, ‘%s‘ % (index+1), line)
        name_lis.append(name)
    f.seek(0)
    f.truncate()
    for name in name_lis:
        f.write(name)

十、进行重命名工作,获取下载目录所有文件,os.listdir()是列表形式,并且测试发现os.listdir()得到的列表中的文件名顺序正好是真正的视频顺序,就不用我对它进行重新排序了,接下来用zip函数打包下载的文件名列表和7week.txt文件中真正文件名列表,然后逐一重命名文件就好了。

renamer.py:

# -*- coding:utf-8 -*-
# Author: Tarantiner
# @Time :2019/4/26 20:54

import os

file_path = ‘F:/迅雷下载/b站7周成为数据分析师/‘
os.chdir(file_path)
files = os.listdir()
names = open(‘C:/Users/Chen/Desktop/rename_files/seven_week/7week.txt‘, ‘r‘, encoding=‘utf-8‘).readlines()
with open(‘1.txt‘, ‘w‘)as f:
    file_lis = list(zip(files, names))   # [(‘old_name‘, ‘new_name‘), ( , ) ...]
    for file in file_lis:
        os.rename(file[0], file[1].strip() + ‘.flv‘)

项目结构:

最终还是有个别文件格式不正确,手动重命名一下就好了。

原文地址:https://www.cnblogs.com/tarantino/p/10776937.html

时间: 2024-08-30 07:17:51

python脚本处理下载的b站学习视频的相关文章

利用python脚本自动下载ICML会议接受的文章

最近需要下载ICML会议2015年接受的最新的文章,但是到官网一看,那么多的文章,如果我一篇一篇点击下载的话,什么时候是个头呢?于是就想着用python脚本对文章的页面进行处理,得到相关文章的url,然后进行下载. 通过观察ICML会议的Accepted Papers发现,其的结构还是比较整齐的,其中我们需要的信息的代码片段如下: <div class="paper"> <p class="title">Approval Voting and

定时运行Python脚本(下载数据)

阿里云对象存储通过外网下载的数据需要收费,标准型存储的外网流出流量计费方式: 00:00-08:00(闲时):0.25元/GB:8:00-24:00(忙时):0.50元/GB. 如果对数据的时效要(wei)求(le)不(sheng)高(qian),可以做一个Python脚本,每天早上07:00自动运行下载数据. WIN10,Python 3.7.4 准备好调试完成的下载数据脚本 oss_download.py,放到"E:\data"目录下(如果是其他目录,下面文件中的相关地址记得要一起

Python脚本自动下载小说

本人喜欢在网上看小说,一直使用的是小说下载阅读器,可以自动从网上下载想看的小说到本地,比较方便.最近在学习Python的爬虫,受此启发,突然就想到写一个爬取小说内容的脚本玩玩.于是,通过在逐浪上面分析源代码,找出结构特点之后,写了一个可以爬取逐浪上小说内容的脚本. 具体实现功能如下:输入小说目录页的url之后,脚本会自动分析目录页,提取小说的章节名和章节链接地址.然后再从章节链接地址逐个提取章节内容.现阶段只是将小说从第一章开始,每次提取一章内容,回车之后提取下一章内容.其他网站的结果可能有不同

下载《物理》文章的Python脚本

本人虽然是个物理渣,没事还是喜欢看看物理方面的内容以陶冶情操.一个比较好的来源是<物理>,这里的文章是可以免费下载的.但是一篇篇下载有点麻烦,而且保存的文件名是文章标题的utf-8编码,下完了还得改下文件名.文章的下载地址不是直接写在网页里的,而是在点击下载的时候生成的,于是像DownThemAll.迅雷之类的工具就没用了.于是自己动手写一个下载脚本. 通过查看网页的源码,它是用文件的类型(应该都是pdf)和id来生成下载地址的.它是用的post,我用的get,我还不是很清楚这之间的区别,也准

1.蛤蟆Python脚本学习笔记一环境搭建

1.蛤蟆Python脚本学习笔记一环境搭建 蛤蟆一直在想在工作的时候能不能有一个牛逼的工具来让自己工作更加轻松和快乐.用过C, C++, C#, JAVA,  SHELL,TCL,汇编,BAT等,感觉这些都是需要的时候能发挥作用,不能和我想象的一样.突然有一天,感觉Python实在不错,那么就和小伙伴们一起乐呵乐呵呗.万事开头难,我们先来搭建环境吧. 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/48058315 1. 相关

2. 蛤蟆Python脚本学习笔记二基本命令畅玩

2. 蛤蟆Python脚本学习笔记二基本命令畅玩 本篇名言:"成功源于发现细节,没有细节就没有机遇,留心细节意味着创造机遇.一件司空见惯的小事或许就可能是打开机遇宝库的钥匙!" 下班回家,咱先来看下一些常用的基本命令. 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/48092873 1.  数字和表达式 看下图1一就能说明很多问题: 加法,整除,浮点除,取模,幂乘方等.是不是很直接也很粗暴. 关于上限,蛤蟆不太清楚

3. 蛤蟆Python脚本学习笔记三字符串

3. 蛤蟆Python脚本学习笔记三字符串 本篇名言:"平静的湖面只有呆板的倒映,奔腾的激流才有美丽的浪花!幸福不是靠别人来布施,而是要自己去赢取!生命的意义在不断挑战自己,战胜自己!" 这个本来放在昨天的,由于昨晚又太晚了,所以就搁在这里了.赶紧看看吧. 字符串两边都用双引号或者单引号包起来.否则就使用转移符号来转移一下. 输入在一起可以直接拼接. 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/48112507

学习python argparse模块下载安装和使用

Python中argparse模块已经替代以前的optparse模块,常被用来实现命令行参数和选项的解析作用. 位置参数: 从一个最基本的程序开始(它并没有实现什么现实的功能): import argparseparser = argparse.ArgumentParser()parser.parse_args() 下面是运行之后的结果: $ python prog.py$ python prog.py --helpusage: prog.py [-h]optional arguments: 

SecureCRT中python脚本编写学习指南

SecureCRT中python脚本编写学习指南 SecureCRT python 引言 在测试网络设备中,通常使用脚本对设备端进行配置和测试以及维护:对于PE设备的测试维护人员来说使用较多是SecureCRT工具:SecureCRT支持VB.JavaScript.Python等多种脚本语言,为了实现脚本在CRT中更加丰富稳定地执行,掌握CRT的常用函数是非常有用的.接下来的时间我将对SecureCRT脚本编写的常用函数展开学习应用. 内容 (1)使用python语言实现SecureCRT中的D