Использование библиотеки Pytube для загрузки ссылок YouTube из CSV

Я пытаюсь использовать библиотеку pytube, чтобы загрузить кучу ссылок, которые у меня есть на файл.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

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 являются необязательными, (расширение, имя файла и разрешение)

Однако для вас я бы посоветовал, пожалуй, лучше всего поместить их все в плейлист, а затем использовать превосходный загрузчик плейлистов Python Youtube от Jordan Mear.

В сноске обычно все [внешние] библиотеки должны быть импортированы. Подробнее об импорте вы можете прочитать здесь, в онлайн-уроках по питону

Вы можете сделать что-то вроде этого:

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  
Другие вопросы по тегам