我遇到一个问题,YouTubeTranscriptApi 库在我的本地计算机上运行良好,但在服务器上运行时失败。我正在使用的脚本如下: 从 youtube_transcript_api 导入 YouTubeTranscriptApi
from youtube_transcript_api import YouTubeTranscriptApi
video_id = 'DxL2HoqLbyA'
try:
transcript = YouTubeTranscriptApi.get_transcript(video_id)
print(transcript)
except Exception as e:
print(f"Error: {e}")
在服务器上执行时,它会抛出错误,但在我的本地设置上运行时没有问题。这是我在服务器上收到的确切错误消息:无法检索文字记录:无法检索视频的文字记录https://www.youtube.com/watch?v=DxL2HoqLbyA!这很可能是由于:
该视频禁用字幕
如果您确定所描述的原因不是造成此错误的原因,并且应该可以检索记录,请在 https://github.com/jdepoix/youtube-transcript-api/issues 创建问题。请添加您正在使用的 youtube_transcript_api 版本,并提供复制错误所需的信息。还要确保没有任何已解决的问题已经描述了您的问题!
我尝试使用代理库来绕过连接问题,但这导致了新的错误。我收到的错误消息是:
HTTPSConnectionPool(host='www.youtube.com', port=443): Max retries exceeded with url: /watch?v=DxL2HoqLbyA (Caused by ProxyError('Unable to connect to proxy', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x101b62510>: Failed to establish a new connection: [Errno 61] Connection refused')))
这表明无法建立代理连接。尽管配置了各种代理设置并在我的 AWS EC2 实例上尝试了不同的区域,但我无法通过代理连接到 YouTube API。我预计解决代理连接问题将使我能够成功检索服务器上的成绩单,类似于在本地的工作方式。
此外,我尝试使用 Node.js 作为替代方法来解决该问题,但问题仍然存在。
您好,您解决这个问题了吗?您能分享一下造成此问题的原因吗?我在多个博客上看到这是一个问题,但提供的解决方案并不多