python腳本處理下載的b站學習視頻

做爲常年在b站學習的我,一直以來看到有興趣的視頻,歷來都是點贊收藏下載三連,可是苦於我那小鋼炮iphone se屏幕大小有限,看起視頻實在費勁,決定必定要找個下載電腦上下載b站視頻的方法,之前用過碩鼠,惋惜速度不行,批量解析也會出些問題,就沒用了,後來也用過一些其餘小工具,效果都不咋樣,今天真是發現神器了,還支持迅雷下載,速度6M多美妙,真是美滋滋😄css

下面重磅教程來襲:html

1、找到視頻的播放地址,如「七週成爲數據分析師」,此視頻地址爲:https://www.bilibili.com/video/av46196018
python

2、修改原地址爲:https://www.kanbilibili.com/video/av46196018,即在「bilibili」前加「kan」,搜索該地址app

3、在新的網頁以下位置點擊獲取地址iphone

 

4、選擇視頻清晰度,而後加載出全部視頻列表ide

5、在選項欄中選擇批量下載,拿到下載地址函數

6、使用迅雷下載工具

聽說迅雷極速版更好用?學習

連接:https://pan.baidu.com/s/1TxMi0z-HMBTiglqycAvAbQ
提取碼:aihf 測試

downloading......

downloading......

downloading......
待下載完成,發現視頻標題都變成數字了,而不是原來含有視頻信息的標題!

分析可知,儘管都是數字,但它們都是有規律的,這些數字從小到大排列正好是原來的標題順序,全部解決辦法就是拿到原來的標題列表,將其和下載到的標題小到大順序排列的列表進行一一組合,最終獲得的每個組合就包含下載的數字標題名字和含視頻信息的標題名字,那麼咱們將其一一重命名便可,具體操做以下:

7、利用開發者工具,定位到視頻列表,獲取列表css元素

8、根據該列表的html+css信息,在console控制檯獲取含視頻信息的標題名字列表

複製內容到python項目下7week.txt文檔

9、可見含視頻信息的標題名字列表仍有多餘信息,如「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)

10、進行重命名工做,獲取下載目錄全部文件,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()
file_lis = list(zip(files, names))   # [('old_name', 'new_name'), ( , ) ...]
for file in file_lis:
    os.rename(file[0], file[1].strip() + '.flv')

項目結構:

最終仍是有個別文件格式不正確,手動重命名一下就行了。 

相關文章
相關標籤/搜索