youtube-dl을 사용하여 특정 날짜 이전의 모든 비디오를 보다 효율적으로 다운로드하는 방법은 무엇입니까?

youtube-dl을 사용하여 특정 날짜 이전의 모든 비디오를 보다 효율적으로 다운로드하는 방법은 무엇입니까?

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를 필터링하기 위해 필요한 경우 처리할 수 있는 텍스트 파일입니다.

관련 정보