python - 每次我尝试从 PYTUBE 下载官方视频时都会显示此错误
问题描述
这是我尝试下载任何官方视频时总是遇到的错误,但在使用某些在线下载应用程序时会下载相同的视频。
KeyError Traceback (most recent call last)
~\anaconda3\lib\site-packages\pytube\extract.py in apply_descrambler(stream_data, key)
--> 297 for format_item in formats
~\anaconda3\lib\site-packages\pytube\extract.py in <listcomp>(.0)
296 }
--> 297 for format_item in formats
298 ]
KeyError: 'url'
During handling of the above exception, another exception occurred:
KeyError Traceback (most recent call last)
<ipython-input-1-796467b30bec> in <module>
7 import cv2
8
----> 9 video = YouTube('https://www.youtube.com/watch?v=tDq3fNew1rU')
~\anaconda3\lib\site-packages\pytube\__main__.py in __init__(self, url, defer_prefetch_init, on_progress_callback, on_complete_callback, proxies)
90 if not defer_prefetch_init:
91 self.prefetch()
---> 92 self.descramble()
94 def descramble(self) -> None:
~\anaconda3\lib\site-packages\pytube\__main__.py in descramble(self)
130 if not self.age_restricted and fmt in self.vid_info:
131 apply_descrambler(self.vid_info, fmt)
--> 132 apply_descrambler(self.player_config_args, fmt)
134 if not self.js:
~\anaconda3\lib\site-packages\pytube\extract.py in apply_descrambler(stream_data, key)
299 except KeyError:
300 cipher_url = [
--> 301 parse_qs(formats[i]["cipher"]) for i, data in enumerate(formats)
302 ]
303 stream_data[key] = [
~\anaconda3\lib\site-packages\pytube\extract.py in <listcomp>(.0)
299 except KeyError:
300 cipher_url = [
--> 301 parse_qs(formats[i]["cipher"]) for i, data in enumerate(formats)
302 ]
303 stream_data[key] = [
KeyError: 'cipher'
所以任何人都可以帮助我解决这个错误
解决方案
我也有同样的问题。我通过这样做解决了它:
- 转到安装
site-packages/pytub/extract.py
位置pytube
。 - 找到这条线:
parse_qs(formats[i]["cipher"]) for i, data in enumerate(formats)
- 替换
["cipher"]
为["signatureCipher"]
- 完毕。
来源在这里。
推荐阅读
- php - Apache重写规则帮助,奇怪的结果
- xcode - 保存数据xcode后转到下一个屏幕?
- java - 哪个更好,编写另一种方法或在现有方法中再添加一个参数?
- python - Export dask groups to csv
- c++ - 在 Intel 13.1.2 中使用已删除的复制构造函数解决不良 C++ 行为的解决方法
- c++ - 在自己的成员函数中构造类时如何强制类模板参数推导?
- android - 无法加载 AppCompat ActionBar 约束布局 Android Studio 3.1.3
- r - 在 R 中格式化日期/时间以匹配来自 excel 的自定义“m/d/yyyy h:mm AM/PM”格式
- php - 在php中添加文本链接的链接,但前提是链接在我自己的网站中
- html - 将 CSS 的 content 属性设置为 HTML 括号之间的值