728x90
반응형
문제점 및 증상
pytube를 이용하여 개인적인 유튜브 영상 다운로더를 만들어서 이용하고 있었는데, 얼마전부터 계속하여 "KeyError('streamingData')" 오류가 발생하며 영상 다운로드가 실패하였습니다.
KeyError: 'streamingData'
해결 과정
구글 검색을 통하여 여러 가지를 확인해 보니, pytube 패키지를 새로 설치해보라는 것들이 많아서 "pytube"를 제거하고, "pytube3"를 설치해보고 하였으나 오히려 다른 문제가 발생하였습니다.
...
File "C:\Dev\Python\Python310\lib\urllib\request.py", line 563, in error
return self._call_chain(*args)
File "C:\Dev\Python\Python310\lib\urllib\request.py", line 496, in _call_chain
result = func(*args)
File "C:\Dev\Python\Python310\lib\urllib\request.py", line 643, in http_error_default
urllib.error.HTTPError: HTTP Error 410: Gone
다시 "pytube" 최신 버전을 새로 설치해봐도 동일한 부분에서 계속 문제가 발생하였습니다.
해결 방법
참고자료의 내용과 같이 YouTube 객체 생성자 호출할 때, "use_oauth=True, allow_oauth_cache=True" 매개변수를 추가하면, 문제가 해결됩니다.
clip_url = f'{YOUTUBE_URL_PREFIX}{video_id}'
yt = YouTube(clip_url, use_oauth = True, allow_oauth_cache = True)
위와 같은 매개변수를 입력하고 실행하면 다음과 같은 메시지가 출력됩니다.
Please open https://www.google.com/device and input code XXX-KHP-LTV
Press enter when you have completed this step.
위에 출력된 "XXX-KHP-LTV" 내용을 https://www.google.com/device 에 등록하고난 이후에는 위와 같은 오류가 재발되지 않고 정상적으로 다운로드가 됩니다.
2023-05-07 : 위 방법으로도 근본적으로 해결되는 것 같지는 않습니다.
됬다가 안됬다가 반복하는데, 아무래도 YouTube API 호출에 대한 제한이 걸리는 것 같습니다. 보다 근본적인 해결책을 찾으면 다시 정리하여 올리겠습니다.
참고자료
- "it showing streaming data error ":https://github.com/pytube/pytube/issues/1570
'프로그래밍 > Python' 카테고리의 다른 글
[Python] E8363C Network Analyzer 화면캡쳐하기 (PyVISA) (0) | 2023.05.03 |
---|---|
[Python] E4446A Spectrum Analyzer 화면캡쳐하기 (PyVISA) (0) | 2023.05.02 |
[Python] Qt5 UI의 폰트 및 컨트롤이 깨져서 표시되는 문제 (0) | 2023.03.28 |
[Python] error: (-215:Assertion failed) !_src.empty() in function 'cvtColor' (0) | 2023.02.22 |
[Python] PNA Network Analyzer에서 현재 화면 데이터 다루기 (0) | 2023.02.20 |