【问题标题】:Using pytube library to download youtube links from csv使用 pytube 库从 csv 下载 youtube 链接
【发布时间】:2016-11-28 06:20:02
【问题描述】:

我正在尝试使用 pytube library 下载我在 .csv 文件中的一堆链接。

编辑:

工作代码

   import sys
reload(sys)
sys.setdefaultencoding('Cp1252')

import os.path

from pytube import YouTube
from pprint import pprint

import csv
with open('onedialectic.csv', 'rb') as f:
        reader = csv.reader(f)
        for row in reader:
            try:
                yt = YouTube(row[1])
                path = os.path.join('/videos/',row[0])
                path2 = os.path.join(path + '.mp4')
                print(path2)
                if not os.path.exists(path2) :
                                print(row[0] + '\n')
                                pprint(yt.get_videos())
                                yt.set_filename(row[0])
                                video = yt.get('mp4', '360p')
                                video.download('/videos')
            except Exception as e:
                print("Passing on exception %s", e)
                continue

【问题讨论】:

  • 为什么不用python库代替命令行工具?
  • 我应该导入python库吗?不知道,我还是python的初学者,感觉用命令行工具会更方便。
  • 是的,你应该import它。请参阅问题中链接到的网页的库使用部分。
  • 谢谢马蒂诺。我在执行“从 pytube 导入 YouTube”之前确实尝试过,但我收到错误“ImportError:没有名为 pytube 的模块”。不过我已经安装了。
  • 在 pytube 之前缺少“来自”

标签: python python-3.x csv video pytube


【解决方案1】:

要安装它,您需要使用

pip install pytube

然后在你的代码中运行

from pytube import YouTube

我还没有看到任何将它与 csv 一起使用的代码示例,你确定它受支持吗?

您可以通过命令行直接使用例如下载

$ pytube -e mp4 -r 720p -f Dancing Scene from Pulp Fiction http://www.youtube.com/watch?v=Ik-RsDGPI5Y

-e-f-r 是可选的,(扩展名、文件名和分辨率)

但对你来说,我建议最好的办法是将它们全部放在一个播放列表中,然后使用 Jordan Mear 出色的 Python Youtube Playlist Downloader

在脚注中,通常需要导入所有 [外部] 库。您可以在此处阅读有关导入的更多信息,in the python online tutorials

你也许可以这样做:

import csv
from pytube import YouTube

vidcsvreader = csv.reader(open("videos.csv"), delimiter=",")

header1 = vidcsvreader.next() #header


for id, url in vidcsvreader:
    yt = url  #assign url to var

    #set resolution and filetype
    video = yt.get('mp4', '720p')

    # set a destination directory for download
    video.download('/tmp/')

    break  

【讨论】:

  • 感谢您的回复!我确实安装了它,但是当我尝试运行它时,正如您通过命令行直接提到的那样,我收到此错误“用法:pytube [-h] [--extension EXT] [--resolution RES] [--path PATH ] [--filename FILENAME] url pytube:错误:无法识别的参数:来自低俗小说youtube.com/watch?v=Ik-RsDGPI5Y'
  • 是的,现在可以使用了。必须在低俗小说中的舞蹈场景之间添加“和”。也许这是我在代码中添加的缺少的内容,我会尝试一下。
  • 我会这样做,但还不行!我如何向您展示我的代码现在的样子?我很确定这只是现在缺少的一个小东西! ://
  • @TheOlDirtyBastard 将它放在代码顶部的“从 pytube 导入 YouTube”
  • 我想用这个来聊天,但我不能,因为我有 6 个代表。 :/ 哦,好吧,我已经在我的主页上编辑了我的代码。事情是我不需要使用 pytube import YouTube,因为我正在使用命令行并使用 subprocess 和 call 调用它。
猜你喜欢
  • 2018-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-19
  • 1970-01-01
  • 2022-08-12
  • 1970-01-01
相关资源
最近更新 更多