youtube-dl을 사용하여 특정 날짜 이전에 특정 YouTube 채널에 업로드된 모든 동영상을 다운로드하고 싶습니다. 그래서 나는 해냈습니다 youtube-dl <url_to_youtube_channel> --datebefore <date>
. 비디오를 다운로드하기 전에 youtube-dl은 먼저 비디오 웹페이지를 다운로드하고 업로드 날짜가 지정된 날짜보다 이전인지 확인합니다("웹페이지 다운로드 중").
그러나 채널은 약을 업로드했습니다. 동영상이 1700개이므로 모든 페이지를 다운로드하는 데 꽤 시간이 걸립니다. 게다가 위 명령을 다른 날짜에 여러 번 실행할 계획입니다. 그렇다면 이 프로세스의 속도를 높일 수 있는 방법이 있는지 궁금합니다. youtube-dl로 동영상의 URL과 제작 날짜를 다운로드할 수 있나요? 이 경우 필요한 URL을 추출하고 이를 youtube-dl에 직접 제공하는 조회 테이블을 구축할 수 있습니다(그러면 매개변수가 --datebefore
중복됩니다).
답변1
이러한 수준의 제어가 필요한 경우 youtube-dl
데이터베이스를 구축하기 위해 먼저 정보를 얻고 덤프해야 할 수도 있습니다. 나중에 이를 사용하여 youtube-dl
원하는 비디오만 다운로드할 수 있습니다.
이는 예시입니다. json
필터와 출력을 직접 작성할 수 있습니다. 예를 들어:
$ youtube-dl --skip-download --print-json <URL-CHANNEL> | jq --join-output '.upload_date," ",.id," ",.title,"\n"'
DATE1 ID1 TITLE1
DATE2 ID2 TITLE2
...
결과는 youtube-dl
실제 다운로드된 ID를 필터링하기 위해 필요한 경우 처리할 수 있는 텍스트 파일입니다.