基於python+you-get視頻下載腳本

視頻下載腳本

基於pythonyou-git編寫主流網站視頻下載腳本

windows

  1. 安裝最新版本的python3
  2. 在python3中使用命令:pip3 install you-get安裝you-get模塊。
    詳情見:https://github.com/soimort/you-get
    適應python3.3以上版本
  3. 在cmd命令窗口運行如下代碼:python file_name.py

注意事項:

  • 系列視頻下載目前適用於bilibili
  • 單個視頻下載模式,基本適用於當前主流視頻網站
  • 如有其它問題可以參考 報錯信息在GitHub上的you-get部分進行查詢排錯

腳本代碼如下:

#coding=utf-8

import os


def video_download():
	"""
	基於python和you-git第三方下載包下載相關視頻
	安裝方法:pip3 install you-get 詳情見:https://github.com/soimort/you-get
	適應python3.3以上版本
	"""
	download_category = input("請選擇下載視頻類型:單個視頻請輸入1,系列視頻請輸入2\
(系列視頻下載目前適用於嗶哩嗶哩);或者輸入“q”/“ctrl+c”退出程序: ")
	
	if download_category == 'q':
		quit()

	elif download_category == '1':
	    # 單個視頻下載
		video_path = input("請輸入視頻鏈接:")
		down_path = "you-get" + " " + video_path
		download(down_path)

	elif download_category == '2':
		list_download()

	else:
		print("請按照提示說明輸入數值!")


def list_download():
	"""下載bilibili的系列視頻"""
	download_method = int(input("請選擇下載方式:全部下載請輸入1,單集下載請輸入2,連續下載請輸入3:"))
	
	if download_method == 1:
		video_path = input("請輸入視頻系列總鏈接:")
		video_count = int(input("請輸入該視頻總集數:"))
		for i in range(1,int(video_count)+1):
			if video_count == 1:
				down_path = "you-get" + " " + video_path
			else:
				down_path = "you-get" + " " + video_path + "?p=" + str(i)
			download(down_path)

	elif download_method == 2:
		video_path = input("請輸入視頻系列總鏈接:")
		video_index = input("請輸入需要下載的集數:")
		down_path = "you-get" + " " + video_path + "?p=" + str(video_index)
		download(down_path)

	elif download_method == 3:
		video_path = input("請輸入視頻系列總鏈接:")
		video_start = input("請輸入起始下載視頻集數:")
		video_end = input("請輸入截至下載視頻集數:")

		# 加入鏈接和集數合法性驗證

		for i in range(int(video_start),int(video_end)+1):
			down_path = "you-get" + " " + video_path + "?p=" + str(i)
			download(down_path)

	else:
		print("請按提示要求輸入數值!")


def download(down_path):
	"""視頻下載"""
	print("視頻下載鏈接:", down_path)
    # message = os.popen(down_path)  # 返回cmd輸入後返回信息
	message = os.system(down_path)
	print("message", message)


def quit():
	"""退出"""

	print('退出程序...')


if __name__ == '__main__':
	video_download()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章