전체 유튜브 재생 목록을 한 번에 다운로드

주의: 이 글은 단지 교육 목적을 위해 인터넷 쓰레기의 사용을 보여주기 위한 것이다.
너는 일주일 정도 기말고사를 치러야 하는데 강좌를 한 번도 참가한 적이 없니?그리고 유튜브에 도움을 요청하면 (나는 매번 이렇다) 커다란 (심지어 node 모듈보다 더 큰) 재생 목록을 볼 수 있고, 위치의 데이터/데이터 속도를 제한할 수 있다.
또는 유튜브에서 새로운 기능/언어/프레임워크를 배우고 싶다면 좋은'재생 목록'을 얻을 수 있으나 휴대전화의 저장 공간이 제한되어 있다.
현재 유튜브 동영상을 다운로드할 수 있는 사이트/앱이 있다.
아이고, 그들이 한 번에 동영상을 다운로드하든지, 아니면 한 번에 완전한 재생 목록을 다운로드한다면, 그들은 비용을 지불할 것이다.너는 재생 목록 영상을 하나하나 다운로드할 수 있다.시험은 매우 중요하니, 너는 돈을 지불할 수 있다. 만약 공부를 위해서라면, 시간을 좀 더 써라. 우리는 인생 전체가 있다.

잠깐만, 너는 파이톤 개발자야.코드 몇 줄만 있으면 구축할 수 있는 서비스에 왜 비용을 지불해야 합니까?
본고는 파이톤으로 구축된 간단한 프로젝트인'YoPlaDo 유튜브 재생 목록 다운로드기'를 소개한다.유튜브 재생 목록 링크를 가져오고 Selenium으로 모든 동영상 링크를 삭제한 다음 유튜브 dl로 동영상을 다운로드하는 프로그램을 만들 것입니다.

그물을 긁다


당신은 일찍이 사진을 검색하고 다운로드한 적이 있습니까?아니면 Ctrl+C와 Ctrl+V 조합키를 눌렀습니까?아니면 인터넷에서 얻은 해결 방안이 있는 숙제를 제출했나요?기본적으로 이것이 바로 긁는 것이다.

데이터를 수집하거나 더 구체적으로 말하면 사이트에서 데이터를 추출하는 것이 바로 인터넷 캡처다.너는 일을 수동으로 완성하는 것이 아니라 자동화할 수 있다.이것이 바로 인터넷 파괴자의 일이다.추출할 물건 목록을 주면 사이트에서 물건을 살 수 있다.
예를 들어, 그림이 필요합니다. 그림은img 라벨을 검색합니다.
오늘날 디지털 마케팅부터 데이터 과학이나 인공지능까지 인터넷 캡처는 각 분야에 응용되고 있다.
따라서 각종 언어는 인터넷 스크레이퍼나 파충류를 만들기 위해 다양한 라이브러리, 프레임워크, 도구를 제공한다.구렁이는 셀렌, 정탕, 홍역과 다른 것을 사용한다.
이 문서에서 우리는 Selenium을 사용하여 동적 사이트를 위한 기본 프로젝트를 만들 것이다.

유프라도


셀렌


"Selenium은 웹 응용 프로그램을 테스트하는 데 사용되는 이식 가능한 프레임워크입니다."-위키백과
그것은 테스트를 위해 웹 응용 프로그램을 자동화하는 데 주로 사용되지만, 그것에만 국한된 것은 아닐 것이다.
무미건조한 네트워크 기반 관리 임무도 자동화할 수 있다.
더 간단한 방식으로 설명할게요.자세한 내용은 Docs를 참조하십시오.

Youtube dl


"YouTube.com 및 기타 동영상 사이트에서 동영상을 다운로드하는 프로그램"- Pypi
자세한 내용은 를 참조하십시오.

우리 시작합시다.


재생 목록(예:)에서 링크를 추출하고 프로그램과 함께 각 비디오를 자동으로 다운로드합니다.이것은 단지 초보자의 기본 항목 개술일 뿐이다.너는 문서를 열람하고 개선할 수 있다.

- 라이브러리 가져오기


만약 이 글을 계속 쓰고 싶다면, 아래의 예에서 사용한 것처럼 '' 을 입력 링크로 사용할 수 있다.그게 더 이해하기 쉬울 거야.재생 목록에 다운로드할 수 있는 동영상이 있고 삭제된 동영상이 없는지 확인해야 한다.이 문제는 이상 블록으로 해결할 수 있지만 초보자들에게 이 글을 간단하게 하기 위해 이상 블록을 추가하지 않았다.
가져오기 전에 필요한 라이브러리를 다운로드했는지 확인하십시오.너는 쓸 수 있지만,
pip 설치selenium
pip 설치 유튜브 dl

from selenium import webdriver
import time 
import youtube_dl 
import os

- 재생 목록 URL을 사용하여 Chrome 웹 드라이버 시작



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

입력 URL이 있는 Chrome 브라우저를 시작합니다.
시간 다 됐습니다.수면(5) 시동 운전자의 시간 간격을 제공한다.

- 재생 목록에서 모든 비디오 링크 삭제



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

우선, 추출할 모든 링크를 저장하기 위해 빈 목록'playlist '를 만듭니다.
그리고 그물이 작용하기 시작했다.
더 간단한 이해를 위해 다음 줄
운전사.클래스별로 요소 이름 찾기 ("style-scope ytd playlist video renderer") 는 지정한 클래스로 구분된 원본 파일의 모든 내용을 추출하는 데 사용됩니다.

- 깎기(하)



for video in videos:
    link=video.find_element_by_xpath('.//*[@id="content"]/a').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?(슈퍼히어로의 길?)
"Selenium에서 XPath는 페이지의 HTML 구조를 탐색하는 기술입니다."
더 간단하게 이해하기 위해서는 특정 라벨을 찾는 방법일 뿐이다.
비디오 객체의 모든 요소를 주기적으로 확인합니다.
동영상xpath 통과('./*[
=“content”]/a').속성 가져오기
id= "content"가 있는 부서 아래의 모든 닻 탭이나 링크를 찾고 href를 추출하거나 삭제합니다.
코드의 나머지 부분은 검증에 사용됩니다. 링크에서 재생 목록 id와 색인 번호를 벗기고 선택한 재생 목록을 가리키는 동영상만 찾을 수 있습니다.

"""
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()

운영 체제.chdir('C:/Users/Trideep/Downloads')
다운로드 위치를 다운로드로 변경할 수 있습니다.
youtube dl을 사용합니다.ydl로 YoutubeDL(ydl 선택):
이델.다운로드([링크])
유튜브 dl 왔다.재생 목록 목록을 순환해서 YoutubeDL을 사용하여 모든 링크를 처리하고 다운로드합니다.
'ydl.download('Url to directory')'는 링크를 처리하고 언급한 디렉터리에 다운로드합니다.
유튜브 dl의 다른 속성을 사용하여 동영상 규격이나 동영상 유형을 추가할 수 있습니다.
운전사.close () 는 드라이버를 닫는 데 사용됩니다.

코드 30줄만 있으면 몇 달러를 절약할 수 있고 자신에게 좋은 프로젝트를 줄 수 있다.
정확하게 실행하기 위해서, 당신은 자신의 이상 블록과 논리를 추가할 수 있습니다.나는 네가 서류를 검사해 보라고 건의한다.

전체 코드에 대한 액세스는 다음과 같습니다.
https://github.com/Dstri26/YoPlaDo-Youtube-Playlist-Downloader/
즐겁게 불어라!즐거움 코드.

이것은 나의 첫 번째 기술 블로그다.만약 내가 틀렸다면 바로잡아 주세요<3 <3 <3

좋은 웹페이지 즐겨찾기