작성
·
285
0
동영상 아래에 적혀있는데로 했는데도 에러가 계속 나네요
제가 쓴 내용은
import pytube
yt = pytube.YouTube("https://www.youtube.com/watch?v=CTRO5NXmAp8") #다운받을 동영상 URL 지정
videos = yt.streams.all()
for i in range(len(videos)) : #range(1,6) 1,2,3,4,5----range(6) 0,1,2,3,4,5
print(i, ' , ' ,videos[i])
여기까지 썼구요
에러는 아래와같이 났습니다.
Traceback (most recent call last):
File "D:programworkspacesection2youtubedwonloader.py", line 3, in
yt = pytube.YouTube("https://www.youtube.com/watch?v=CTRO5NXmAp8") #�ٿ���� ������ URL ����
File "d:anacondaenvssection2libsite-packagespytubemain.py", line 88, in init
self.prefetch_init()
File "d:anacondaenvssection2libsite-packagespytubemain.py", line 97, in prefetch_init
self.init()
File "d:anacondaenvssection2libsite-packagespytubemain.py", line 133, in init
mixins.apply_signature(self.player_config_args, fmt, self.js)
File "d:anacondaenvssection2libsite-packagespytubemixins.py", line 49, in apply_signature
signature = cipher.get_signature(js, stream['s'])
File "d:anacondaenvssection2libsite-packagespytubecipher.py", line 250, in get_signature
tplan = get_transform_plan(js)
File "d:anacondaenvssection2libsite-packagespytubecipher.py", line 72, in get_transform_plan
return regex_search(pattern, js, group=1).split(';')
File "d:anacondaenvssection2libsite-packagespytubehelpers.py", line 65, in regex_search
.format(pattern=pattern),
pytube.exceptions.RegexMatchError: regex pattern (encodeURIComponent=function(w){[a-z=.(\")];(.);(?:.+)}) had zero matches
[Finished in 3.198s]
삭제하고 git으로 설치 후 재부팅까지하고 아톰 실행 했습니다.
답변 3
0
0
0
안녕하세요.
기존에 pytube를 계속 보기 때문에 실행이 안되는 것 같습니다.
지금 나오는 에러는 regex pattern 으로 동영상 URL을 파싱하지 못해서 나오는 에러입니다.
GIT으로 설치하신 Pytube를 import 하지못해서 나오는 에러입니다.
보통 그때는 가상환경 삭제 후 다시 재 설정 하셔서 정확히 pytube version등을 확인하시고
실행하셔야 될 것같습니다.
현재 시도하신 동영상 url은
https://www.youtube.com/watch?v=CTRO5NXmAp8 인데
정상적으로 다운로드 되는 것 같습니다.
만약 안되시면 일단 다음 섹션으로 넘어가시고 섹션6에서 다시 가상환경을 설정을 하니 그때 시도하심이
좋을 것같아요.
지금 이 예제가 실행이 안되면 앞으로 더 복잡한 환경 구성을 하기 때문에 어차피 아나콘다 삭제 후 재설치를
할 필요도 있습니다.