Pytube库接收“pytube.exceptions.RegexMatchError:regex pattern“尝试访问视频d时出错

2024-04-16 20:11:31 发布

您现在位置:Python中文网/ 问答频道 /正文

当尝试使用pytubeapi库访问诸如Youtube视频的“标题”之类的数据时,我收到以下错误

pytube.exceptions.RegexMatchError: regex pattern (yt.akamaized.net/)\s*\|\|\s*.?\sc\s*&&\sd.set([^,]+\s,\s*(?P[a-zA-Z0-9$]+)() had zero matches

下面是我正在使用的代码,它提供了上面的错误。在

import sys  
import pytube

link = input('Enter url: ') # url is: https://www.youtube.com/watch?v=KSbj-cFtFPA
yt = pytube.YouTube(link)
print(yt.title)

sys.exit()

有人知道如何解决这个错误吗?我已经做了一些在线搜索,提供的答案不是决定性的,当我尝试的时候不起作用。在

注意:我试图卸载pytube并重新安装它,但没有解决问题。在


Tags: 数据importurl标题视频youtube错误sys
2条回答

pytube中有一个bug,因此使用以下命令重新安装它。在

pip install git+https://github.com/nficano/pytube.git

#####################################################

import sys
import pytube

link = input('Enter url: ') # url is: https://www.youtube.com/watch?v=KSbjcFtFPA
yt = pytube.YouTube(link)
print(yt.title)

**OUTPUT** Sanford and Son S02E02

sys.exit()

以下是有关此错误的一些附加信息:https://github.com/nficano/pytube/issues/333

这是对这个问题的后续答复。我根据文档添加了一些错误处理来告诉您发生了什么。在

^{pr2}$

特别说明

有问题的错误已链接到该文件密码.py对于pytube。请检查此文件以确保下面的代码部分与您的代码部分匹配:

def get_initial_function_name(js):
"""Extract the name of the function responsible for computing the signature.

:param str js:
    The contents of the base.js asset file.

"""
# c&&d.set("signature", EE(c));
pattern = r'\bc\s*&&\s*d\.set\([^,]+\s*,\s*\([^)]*\)\s*\(\s*(?P<sig>[a-zA-Z0-9$]+)\('
logger.debug('finding initial function name')
return regex_search(pattern, js, group=1)

@Victor S:尝试安装pytube和pytubetemp,确保两者都是9.4.0。不要更改导入,请重新运行代码。在

相关问题 更多 >