Рубрики
Без рубрики

Скачать целый youtube Playlist за один иди

Примечание. Этот пост предназначен только для образовательной цели, чтобы показать использование веб-соскоба. Вы когда-нибудь были … Помечено Python, Project, Webscraping, Nowizers.

Примечание. Этот пост предназначен только для образовательной цели, чтобы показать использование веб-соскоба.

Вы когда-нибудь были в такой ситуации, у вас есть последние экзамены в неделю или около того И вы не приняли участие ни одной лекции (я имею в виду осознавая, конечно)? Тогда вы спрашиваете YouTube за помощью (случается в моем случае каждый раз) и то, что вы получаете, – это огромный (даже больше, чем node_modules) Playlist, чтобы посмотреть, и ограничиваемые данные/скорость данных на вашем месте.

Или вроде, вы хотели узнать новый навык/языку/рамки от YouTube, и вы получаете хороший «плейлист», но ограничили пространство для хранения в вашем телефоне.

Теперь есть веб-сайты/приложения для загрузки видео YouTube. К сожалению, либо они загружают одно видео за раз или если они загружают полный плейлист одновременно, они платные. Вы можете скачать видео плейлиста One-By-One (пока это огромный). Экзамены важны, вы можете заплатить за них, и если речь идет о том, чтобы учить, позвольте потратить больше времени, у нас всю жизнь?

Подождите минуту, вы являетесь разработчиком Python. Зачем платить за услугу, вы можете построить с несколькими строками кода? Этот пост будет про простым проектом «Йопладо-YouTube Playlist Downloader», созданный с помощью Python. Мы будем писать программу, которая принимает ссылку на YouTube Playlist и Web-Craps все видео ссылки с помощью Selenium и загружают видео с помощью YouTube-DL.

Вы когда-нибудь искали и скачали изображения? Или когда-либо Ctrl + Слияние и Ctrl + V (Если вы знаете, вы знаете)? Или отправил задание с решениями, которые вы получите онлайн? По сути, это то, что соскоб.

Сбор данных или более конкретные данные извлечения с веб-сайта – это веб-соскоб. Вместо этого делают вещи вручную, вы можете автоматизировать вещи. Это то, что делает веб-скребок. Вы даете ему список вещей, чтобы извлечь, а затем идет для покупок (соскоб) с веб-сайта. Например, вам нужно изображение, он ищет теги IMG. В наши дни Web-Scraping используется в каждом полях, уставившихся от цифрового маркетинга в DatasCity или AI.

Таким образом, различные языки предоставляют различные библиотеки, рамки и инструменты для создания веб-скребка или веб-сканет. Python использует Selenium, красивый суп, Scrapy и еще несколько.

В этом мы будем создавать базовый проект с Selenium для динамического веб-сайта.

Селен

«Selenium – это портативная структура для тестирования веб-приложений. “ – Википедия

В первую очередь это для автоматизации веб-приложений для целей тестирования, но, безусловно, не ограничивается только это. Скучные веб-административные задачи могут (и должны) также автоматизировать. Я буду объяснять вещи более простым способом. Для получения подробной информации вы можете пройти через Документы Отказ

YouTube-Dl.

” Программа для скачивания видео с YouTube.com и других видео сайтов “ – pypi

Для получения подробной информации вы можете пройти через Документы Отказ

Давайте начнем,

Мы будем извлекать ссылки из списка воспроизведения (например https://www.youtube.com/playlist?list= ) и автоматически загружайте каждое видео с помощью программы. Это просто базовый обзор проекта для начинающих. Вы можете пойти на документацию и сделать улучшения.

– Импортировать библиотеки

Если вы хотите продолжить сообщение с постом, вы можете использовать « https://www.youtube.com/playlist?list=PLGzz7pyosmlJfx9ivigemSouoZR9uLT2- «Как входная связь, как это используется в приведенном ниже примере. Это будет легче понять. Также убедитесь, что плейлист, который вы используете, должны иметь видео, загружаемые и без каких-либо удаленных видео. Эта проблема может быть решена с использованием блока исключений, но для того, чтобы сохранить этот пост простым для начинающих, блок не был добавлен.

Перед импортом убедитесь, что вы загрузили необходимые библиотеки. Ты можешь использовать,

PIP Установить селен PIP Установить YouTube-DL

from selenium import webdriver
import time 
import youtube_dl 
import os

– Инициируйте драйвер Chrome Web-драйвер с URL PlayList

url = input("Enter the Youtube Playlist URL : ")
driver = webdriver.Chrome() 
driver.get(url)
time.sleep(5)

Используется для инициирования Chrome браузера с помощью URL-адреса ввода. time.sleep (5) предоставляет временной разрыв, чтобы начать драйвер.

– Сокращение всех видео Ссылки из списка воспроизведения

playlist=[]
videos=driver.find_elements_by_class_name('style-scope ytd-playlist-video-renderer')

Сначала мы создаем пустой список «Playlist», чтобы сохранить все ссылки, которые необходимо извлекать.

Тогда WebScraping входит в игру. Для более простых понимания линии Driver.find_elements_by_class_name («Стиль-охват YTD-Playlist-Video-Renderer») используется для извлечения всех содержимого исходного файла, который поставляется в указанном классе разделение.

– соскабливание (часть 2)

for video in videos:
    link=video.find_element_by_xpath().get_attribute("href")
    end=link.find("&")
    link=link[:end]
    playlist.append(link)
"""
For example, a playlist with 6 videos

Enter youtube playlist link : https://www.youtube.com/playlist?list=PLGzz7pyosmlJfx9ivigemSouoZR9uLT2-
['https://www.youtube.com/watch?v=iyL9-EE3ngk&list=PLGzz7pyosmlJfx9ivigemSouoZR9uLT2-&index=1', 'https://www.youtube.com/watch?v=G7E8YrOiYrQ&list=PLGzz7pyosmlJfx9ivigemSouoZR9uLT2-&index=2', 'https://www.youtube.com/watch?v=79D4Y1cUK7I&list=PLGzz7pyosmlJfx9ivigemSouoZR9uLT2-&index=3', 'https://www.youtube.com/watch?v=MUe0FPx8kSE&list=PLGzz7pyosmlJfx9ivigemSouoZR9uLT2-&index=4', 'https://www.youtube.com/watch?v=UkpmjbHYV0Y&list=PLGzz7pyosmlJfx9ivigemSouoZR9uLT2-&index=5', 'https://www.youtube.com/watch?v=WTOFLmB9ge0&list=PLGzz7pyosmlJfx9ivigemSouoZR9uLT2-&index=6']


"""

Новый термин? XPath? (Путь супергероя?)

«XPath – это техника в селении для перемещения по структуре HTML страницы. ” Для более простых понимания это просто путь для поиска конкретных тегов.

Пока петля проверяет все элементы в «видео» объект

video.find_element_by_xpath (‘.//* [ @id ]/a ‘). get_attribute (“href”) Находит все якорные теги или ссылки, присутствующие под делением, чьим и извлеките или скрестите их HREF.

Остальная часть кода предназначена для проверки, чтобы найти только ссылку на видео выбранного списка воспроизведения, полосая идентификатор воспроизведения и номер индекса из ссылки.

"""
After processing it looks like:


Enter youtube playlist link : https://www.youtube.com/playlist?list=PLGzz7pyosmlJfx9ivigemSouoZR9uLT2-
['https://www.youtube.com/watch?v=iyL9-EE3ngk', 'https://www.youtube.com/watch?v=G7E8YrOiYrQ', 'https://www.youtube.com/watch?v=79D4Y1cUK7I', 'https://www.youtube.com/watch?v=MUe0FPx8kSE', 'https://www.youtube.com/watch?v=UkpmjbHYV0Y', 'https://www.youtube.com/watch?v=WTOFLmB9ge0']
"""

Интересно, почему эти конкретные классы?

Ссылка видео находятся под этими разделами.

– Загрузка видео

os.chdir('C:/Users/Trideep/Downloads') 

for link in playlist:
        with youtube_dl.YoutubeDL(ydl_opts) as ydl:
            ydl.download([link])
driver.close()

OS.chdir (‘C:/Пользователи/Trideep/Downloads’) Используется для изменения местоположения загрузки в «Загрузки».

с youtube_dl. YouTubedl (YDL_OPTS) AS YDL: ydl.download ([ссылка])

Вот находит YouTube-DL. Заворачиваясь через список «PlayList», каждая ссылка обрабатывается и загружается с помощью YouTube DL.

«YDL.Download (« URL-адрес в каталоге »)« обрабатывает ссылку и загружает его в указанный каталог. Далее вы можете добавить спецификации видео или тип видео, используя другие атрибуты YouTube-DL.

Driver.Close () используется для закрытия драйвера.

И с просто 30 линиями кода вы спасли несколько долларов и одарили себя хорошим проектом. Ну, для правильного исполнения вы можете добавить свои собственные блоки исключения и логику. Я бы предложил вам пройти документацию.

Для полного кода вы можете посетить: https://github.com/dstri26/yoplado-youtube-playlist-downloader/

Счастливый соскоб! Счастливое кодирование.

Это мой первый технический блог. Поправь меня, если я ошибаюсь. <3 <3 <3

Оригинал: “https://dev.to/spectrumcetb/download-a-whole-youtube-playlist-at-one-go-3331”