日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用工具批量下载哔哩哔哩视频并且将内容转换成pdf

發布時間:2025/4/16 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用工具批量下载哔哩哔哩视频并且将内容转换成pdf 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

網上的b站視頻下載工具其實已經是一籮筐了,但是大部分有個問題,就是不支持批量下載。

不廢話,直接說搜索的結果,目前發現的兩個可用的:

b站下載姬:https://github.com/FlySelfLog/downkyi?最好用的就是這個了,我也是用這個。

自己號稱東半球第二快的用go語言實現的程序:https://github.com/sodaling/FastestBilibiliDownloader?這個東西,首先因為作者太懶,沒有打包成exe,所以導致配置起來相當麻煩,你直接下載下來跑的話會各種報錯,需要下載很多go的庫,同時,需要你有一點go語言基礎。然后是,這個東西本身是有問題的,下載一個up主的視頻會少了最后一頁,大概是他的代碼的for循環少了個+1吧。因為代碼很凌亂很繞,感覺像在炫技一樣,我對go語言的研究也不深,所以就不改他的代碼了,直接pass。

用b站下載姬批量下載完某up主的視頻之后就是轉換問題了。為什么要轉換呢,這是因為我在b站上面看up主兔肉菌的繪畫類視頻覺得很有意思,很有學習價值,所以想要弄成pdf來臨摹,這樣也方便我打印嘛。

于是想到了python是可以用opencv庫來截圖的。那就好辦了:)

上代碼,第一個是單個的版本,第二個是批量轉換:

import os import time import cv2 import shutil from fpdf import FPDFfilename = input("請輸入下載的文件名(注意不要添加文件名后綴):")try:cap = cv2.VideoCapture(os.path.dirname(os.path.abspath(__file__)) + '\\' + filename + '.flv')print("讀取視頻成功...") except:print("讀取視頻失敗,請檢查文件名或文件路徑是否正確...")outputpath = os.path.dirname(os.path.abspath(__file__)) + '\\output' if not os.path.exists(outputpath):print("創建臨時文件夾output...")os.makedirs(outputpath) else:print("檢測到臨時文件夾output...")count = 0 num = 1 print("開始截屏...") while cap.isOpened():ret, frame = cap.read()if ret:cv2.imwrite(os.path.dirname(os.path.abspath(__file__)) + '\\output\\frame{:d}.jpg'.format(count), frame)count += 100 # i.e. at 300 fps, this advances one secondprint("正在截取第"+str(num)+"張")num += 1cap.set(1, count)else:cap.release()print("截屏完成,共計"+str(num)+"張~")breakimagelist = os.listdir(outputpath) print("開始將圖片合并后pdf,請耐心等待幾秒鐘...") #format 后面的是尺寸,我們的視頻默認就是這個尺寸,所以不用改了 pdf = FPDF(unit = "pt", format = [1920, 1080]) # imagelist is the list with all image filenames for image in imagelist:pdf.add_page()pdf.image(outputpath + "\\" + image,0,0) pdf.output(os.path.dirname(os.path.abspath(__file__)) + '\\'+ filename +'.pdf', "F") print("pdf合成完成!")filelist=os.listdir(outputpath) #列出該目錄下的所有文件名 for f in filelist:filepath = os.path.join(outputpath,f) #將文件名映射成絕對路勁if os.path.isfile(filepath): #判斷該文件是否為文件或者文件夾os.remove(filepath) #若為文件,則直接刪除elif os.path.isdir(filepath):shutil.rmtree(filepath,True) #若為文件夾,則刪除該文件夾及文件夾內所有文件 shutil.rmtree(outputpath,True) print("清空并刪除臨時文件夾output...")t = 5 while t:print(str(t) + "秒后關閉...")t -= 1time.sleep(1) print("關閉,下次見~") import os import datetime import cv2 import shutil from fpdf import FPDFrootdir = os.getcwd() + '\\全部'li = os.listdir(rootdir)if not os.path.exists(os.getcwd() + '\\output'):os.makedirs(os.getcwd() + '\\output')def mprint(s):print(str(datetime.datetime.now())+" " + s)def convert(index,whole,lii,f):mprint('處理第'+str(index)+'個視頻,共'+str(whole)+'個')temp = os.getcwd() + '\\output\\'+liitry:cap = cv2.VideoCapture(rootdir + "\\" + lii + "\\" + f)count = 0num = 1if not os.path.exists(temp):os.makedirs(temp)while cap.isOpened():ret, frame = cap.read()if ret:cv2.imencode('.jpg',frame)[1].tofile(temp+'\\frame{:d}.jpg'.format(count))count += 100 # i.e. at 300 fps, this advances one secondmprint("正在截取第"+str(index)+"個視頻第"+str(num)+"張")num += 1cap.set(1, count)else:cap.release()mprint("截屏完成,共計"+str(num)+"張~")breakexcept:mprint("讀取視頻失敗,請檢查文件名或文件路徑是否正確...")imagelist = os.listdir(temp)mprint("開始制作第"+str(index)+"個pdf,請耐心等待幾秒鐘...")#format 后面的是尺寸,我們的視頻默認就是這個尺寸,所以不用改了pdf = FPDF(unit = "pt", format = [1920, 1080])# imagelist is the list with all image filenamesfor image in imagelist:pdf.add_page()pdf.image(temp + "\\" + image,0,0)pdf.output(temp +'.pdf', "F")mprint("第"+str(index)+"個pdf合成完成!")filelist=os.listdir(temp) #列出該目錄下的所有文件名for f in filelist:filepath = os.path.join(temp,f) #將文件名映射成絕對路勁if os.path.isfile(filepath): #判斷該文件是否為文件或者文件夾os.remove(filepath) #若為文件,則直接刪除elif os.path.isdir(filepath):shutil.rmtree(filepath,True) #若為文件夾,則刪除該文件夾及文件夾內所有文件shutil.rmtree(temp,True)for i in range(0,len(li)):for root,dirs,files in os.walk(os.path.join(rootdir,li[i])):for f in files:if f.endswith(".mp4"):convert(i+1,len(li),li[i],f)break

?第二個腳本需要放在下載姬下載的視頻的那個download文件夾里面才能跑。

?

總結

以上是生活随笔為你收集整理的用工具批量下载哔哩哔哩视频并且将内容转换成pdf的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 无码人妻精品一区二区三区温州 | 国产免费福利视频 | 国产成人精品一区二三区 | 四虎影视免费观看 | 日韩一区二区三区四区五区六区 | 色黄网站在线观看 | 激情视频国产 | 色悠悠网 | 青娱网电信一区电信二区电信三区 | 大尺度床戏揉捏胸视频 | 亚洲av无码一区二区三区观看 | 成人欧美一区二区三区黑人孕妇 | 天天摸天天操天天爽 | 婷婷丁香色 | 精品乱子一区二区三区 | 91啦丨九色丨刺激 | 亚洲欧美国产精品专区久久 | 国产精品性 | 日韩av免费网址 | 看黄色网址 | www.色哟哟 | 青青青青在线 | 成人有色视频 | 欧美性生活精品 | 亚洲av中文无码乱人伦在线观看 | 拔插拔插海外华人永久免费 | 久久夜色精品国产噜噜亚洲av | 日日夜夜精品免费视频 | 亚洲AV无码成人精品区明星换面 | 澳门久久久 | 免费在线h| 午夜影院日本 | 国产亚洲成av人片在线观看桃 | 深夜成人福利 | www.精品国产 | 白丝开裆喷水 | av观看免费| 欧美做爰性生交视频 | 成人极品 | 激情啪啪网站 | www.亚色| 男人天堂2024 | 51自拍视频 | 好妞色妞国产在线视频 | 日韩av免费在线播放 | 国产精品久久国产精品 | 日韩大胆人体 | 四川丰满少妇被弄到高潮 | 4438五月天| 国产日韩一级 | 综合xx网| 久久综合久久网 | 国产高清在线免费观看 | 中文字幕第六页 | 午夜毛片在线观看 | 五月av| 亚洲第一页综合 | 天堂在线成人 | 欧美 亚洲 另类 偷偷 自拍 | 国产精品91久久久 | 亚洲av最新在线网址 | 色爽爽爽爽爽爽爽爽 | 国产一区二区三区乱码 | 欧美日韩不卡合集视频 | 久久精品99 | 北条麻妃一区二区三区四区五区 | 欧美日韩aa | 双性受孕h堵精大肚生子 | 亚洲精品偷拍视频 | 99re这里只有精品首页 | 久草视频在线播放 | 久久久国产精品黄毛片 | 国产不雅视频 | 天堂视频在线 | 少妇粉嫩小泬白浆流出 | 黄色一区二区三区四区 | 最新中文字幕在线播放 | 国产福利一区二区三区在线观看 | 香蕉钻洞视频 | 丰满少妇在线观看资源站 | 香蕉视频免费网站 | 午夜精品久久久久久久99热黄桃 | 国产免费脚交足视频在线观看 | 无遮挡国产| 黄色免费在线播放 | 日本天堂在线播放 | 美女扒开内裤让男人捅 | 2020av在线| 五级黄高潮片90分钟视频 | 国产愉拍 | 欧美无砖砖区免费 | 中文字幕在线成人 | 久久国产色 | 欧美xxxx8888 | 在线高清观看免费观看 | 男女午夜啪啪 | 少妇做爰k8经典 | 色综合天 | 国产精品视频123 |