※ 업무하면서 습득한 내용들을 정리해 놓은 포스팅입니다 :P 추가로 궁금하신 점은 댓글로 남겨주시고 필요한 자료 있으면 요청주세요! 잘못된 내용이 있으면 고쳐주시면 감사하겠습니다. 자료 퍼가실 때는 출처 남겨주세요!
ο 목차
※ 코드 보는 방법 참고
ㅇ 달러 기호($)가 있는 경우 -> 리눅스 터미널에서 CLI 명령어 입력
ㅇ "=#" 기호가 있는 경우 -> psql 쉘에서 명령어 입력
ㅇ 꺽쇠가 하나 있는 경우(>) -> 윈도우 명령 프롬프트(cmd)에서 명령어 입력
ㅇ 꺽쇠가 세개 있는 경우(>>>) -> python 쉘에서 명령어 입력
안녕하세요 네모입니다:D
파이썬으로 유튜브 mp3 파일을 추출하는데 유튜브 쪽에서 업데이트를 하면서 기존 코드가 변경이 되었는지 오류가 발생하면서 다운로드가 안 되더라구요~ 그래서 해결 방법을 공유하고자 글을 써봅니다
누군가에게는 도움이 되길 바라며...

1. 문제 사례
1) 문제 현상
▶ 내가 사용하는 코드 상에서는 변경된 것이 없는데 어느 날부터 갑자기 유튜브 음원 추출 불가
2) 오류 메세지
ERROR: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
2. 문제 원인
▶ 유튜브쪽에서 업데이트를 하면서 일부 코드가 변경된 것으로 추정됨
3. 문제 해결 방법
▶ 해당 오류가 발생하는 것을 개발자 측에서 인지는 하고 있으나(버그) 현재로서는 문제 해결을 위해서는 다음 업데이트를 기다려야 하는 상황
▶ 여러가지 해결 방법이 나와 있으나 필자는 youtube.py 코드 일부를 변경하여 문제 해결
* 제가 생각했을 때 가장 깔끔한 방법 같아서 저는 이렇게 진행했습니다 :D
1) 작업 순서
(1) youtube_dl 패키지 안에 있는 youtube.py 파일 찾기
(2) youtube.py 파일 안에서 uploader_id 설정값을 찾아 이슈 레벨를 Critical -> Medium으로 변경
(3) 파일 저장 후 다시 테스트
2) 작업 상세
(1) youtube.py 파일 찾기
python 라이브러리 경로 -> site-packages -> youtube_dl -> youtube.py
(2) youtube.py 파일 열여서 아래 내용 찾은 후 변경하기(1794줄)
(변경 전)
'uploader_id': self._search_regex(r'/(?:channel|user)/([^/?&#]+)', owner_profile_url, 'uploader id') if owner_profile_url else None
(변경 후)
'uploader_id': self._search_regex(r'/(?:channel|user)/([^/?&#]+)', owner_profile_url, 'uploader id', fatal=False) if owner_profile_url else None
(3) 파일 저장 후 다시 다운로드 테스트하기
(결과 예시)
C:\Users\AAA\PycharmProjects\pythonProject\venv\Scripts\python.exe C:/Users/AAA/PycharmProjects/pythonProject/you2mp3.py
[youtube] u2aUGVX8Cg8: Downloading webpage
WARNING: unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
[download] [MV] SOYOU, SUNG SI KYUNG(소유, 성시경) _ I Still(뻔한 이별)-u2aUGVX8Cg8.webm has already been downloaded
[download] 100% of 4.01MiB
[ffmpeg] Destination: [MV] SOYOU, SUNG SI KYUNG(소유, 성시경) _ I Still(뻔한 이별)-u2aUGVX8Cg8.mp3
Deleting original file [MV] SOYOU, SUNG SI KYUNG(소유, 성시경) _ I Still(뻔한 이별)-u2aUGVX8Cg8.webm (pass -k to keep)
Process finished with exit code 0
저는 이 방법으로 하니까 다운로드 다시 잘 되더라구요!
여러분도 새로운 버전 나오기 전에 임시로 요렇게 조치해서 사용해보세요
다음에 또 공유할 만한 꿀팁 생기면 들고 올게요ㅎㅎ
그럼 20000~
※ 좋아요와 구독은 큰 힘이 됩니다. 감사합니다.
댓글