얼마 전까지 잘 사용하던 pytube에서 영상을 다운로드하는 데 갑자기 위와 같은 에러가 발생했습니다.
깜짝 놀라서 검색을 해 봤더니 비교적 최근에 발견된 이슈인 모양입니다(stackoverflow 날짜 기준 어제).
해결 방법을 찾아 공유합니다.
우선은 pytube 디렉토리를 찾아야 합니다.
find 명령어로 아래와 같이 pytube 디렉토리를 찾아 이동합니다. (Mac의 경우 command+space bar로 검색할 수 있습니다.)
find / -name pytube # pytube 디렉토리 찾기
cd "pytube 디렉토리 경로" # ex> C:\Python39\lib\site-packages\pytube
vi parser.py # parser.py 수정
이동한 후 parser.py의 아래 부분을 그 다음 블록과 같이 수정합니다.
...
result = []
curr_substring = js_array[1:]
comma_regex = re.compile(r",")
func_regex = re.compile(r"function\([^)]+\)") # 152번째 줄
while len(curr_substring) > 0:
...
...
result = []
curr_substring = js_array[1:]
comma_regex = re.compile(r",")
func_regex = re.compile(r"function\([^)]?\)") # 152번째 줄 # '+'를 '?'로 변경
while len(curr_substring) > 0:
...
다시 pytube 코드를 실행하면, 문제 없이 동영상이 다운로드됩니다.
+2021.11.23 11:32 기준 다시 정상적으로 다운로드가 진행되고 있습니다. 오히려 위처럼 고쳤을 때 다운로드가 진행되지 않는 모습이 보입니다.
참고 문서
'Python' 카테고리의 다른 글
[Python] 한 방에 알파벳 리스트 만들기 (0) | 2021.06.20 |
---|---|
[Python]windows 10에 pygraphviz 설치하기(no conda) (0) | 2021.04.25 |
[python]Windows 10에 pygraphviz 설치하기(conda) (0) | 2021.04.25 |
[Python]virtualenv의 파이썬 버전 변경하기 (0) | 2021.03.27 |
[Python] kernel에 설치된 라이브러리 조회 및 버전 확인하기 (0) | 2020.10.08 |