📌  相关文章
📜  使用 Django 的 Youtube 视频下载器

📅  最后修改于: 2022-05-13 01:54:40.324000             🧑  作者: Mango

使用 Django 的 Youtube 视频下载器

在本文中,我们将看到如何在 Django 中制作 YouTube 视频下载工具。我们将为此使用pytube模块。

先决条件:

  • pytube: 是python的轻量级无依赖模块,用于下载YouTube视频。
  • Django 它是 Python 的框架,用于制作 Web 应用程序。

在这里,我们将使用 Django 作为后端以及 pytube 模块来创建这个工具。我们可以通过在终端中输入以下命令来安装 pytube 模块。

pip install pytube

所以,让我们深入制作我们的 YouTube 视频下载工具。

首先,我们将创建一个 HTML 设计(表单),用户可以在其中输入他/她想要下载的视频的 URL。我们将使用 Django 的POST方法来获取该 URL(因为它是安全的)。如果我们使用 POST 方法,我们还需要使用 csrf 令牌。 csrf 令牌的语法是:



{% csrf_token %}
HTML



 

Youtube video downloader

   
  {% csrf_token %}        

  
 


Python3
# importing all the required modules
from django.shortcuts import render, redirect
from pytube import *
 
 
# defining function
def youtube(request):
 
    # checking whether request.method is post or not
    if request.method == 'POST':
       
        # getting link from frontend
        link = request.POST['link']
        video = YouTube(link)
 
        # setting video resolution
        stream = video.streams.get_lowest_resolution()
         
        # downloads video
        stream.download()
 
        # returning HTML page
        return render(request, 'youtube.html')
    return render(request, 'youtube.html')


Python3
from django.contrib import admin
from django.urls import path
from . import views
 
urlpatterns = [
    path('admin/', admin.site.urls),
    path('youtube', views.youtube, name='youtube'),
]


现在,是时候创建一个接收视频链接并下载该视频的函数了。您需要从 views.py 文件中的模块 pytube 导入函数YouTube。  现在我们可以定义下载视频的函数了。

视图.py

蟒蛇3



# importing all the required modules
from django.shortcuts import render, redirect
from pytube import *
 
 
# defining function
def youtube(request):
 
    # checking whether request.method is post or not
    if request.method == 'POST':
       
        # getting link from frontend
        link = request.POST['link']
        video = YouTube(link)
 
        # setting video resolution
        stream = video.streams.get_lowest_resolution()
         
        # downloads video
        stream.download()
 
        # returning HTML page
        return render(request, 'youtube.html')
    return render(request, 'youtube.html')

现在,我们必须在 urls.py 中为该函数定义 URL(路径)。

蟒蛇3

from django.contrib import admin
from django.urls import path
from . import views
 
urlpatterns = [
    path('admin/', admin.site.urls),
    path('youtube', views.youtube, name='youtube'),
]

这就是编码部分,现在您可以通过Python manage.py runserver运行该项目并前往http://localhost:8000/youtube查看输出。

输出:



当您点击提交时,视频将下载到您的 Django 项目目录中。

django youtube 下载器