0

我一直在尝试使用 coursera-dl 命令从 coursera 安装一些讲座,通过以下方式安装:

pip install coursera-dl

我还做了 coursera-dl.conf 文件,其中包括我的用户名、密码、下载首选项和 Coursera.org 的 cauth。我确保在 coursera 上登录(在我所有的浏览器中!!!)我小心地写下课程的名称,即在 url 中跟着 learn/ 的内容。但是我遇到了错误。我决定将 Python 从 3.9.5 降级到 3.8。我还在高级设置(控制面板)的环境变量中将路径更改为 coursera-dl.exe 文件所在的位置。此外,我已经创建了下载文件夹,里面有 .conf 文件,并且正在那里执行命令(它也设法创建了一个 coursera-dl 文件夹,我认为是在 git cloned 之后)。

无论如何,执行此命令后,我现在收到以下错误:

coursera-dl classical-composition

任何人都可以帮助我吗?谢谢

 Traceback (most recent call last):
      File "c:\users\leo\anaconda3\envs\spyder-env\lib\runpy.py", line 197, in _run_module_as_main
        return _run_code(code, main_globals, None,
      File "c:\users\leo\anaconda3\envs\spyder-env\lib\runpy.py", line 87, in _run_code
        exec(code, run_globals)
      File "C:\Users\Leo\Anaconda3\envs\spyder-env\Scripts\coursera-dl.exe\__main__.py", line 4, in <module>
      File "c:\users\leo\anaconda3\envs\spyder-env\lib\site-packages\coursera\coursera_dl.py", line 61, in <module>
        from .cookies import (
      File "c:\users\leo\anaconda3\envs\spyder-env\lib\site-packages\coursera\cookies.py", line 9, in <module>
        import ssl
      File "c:\users\leo\anaconda3\envs\spyder-env\lib\ssl.py", line 98, in <module>
        import _ssl             # if we can't import it, let the error propagate
    ImportError: DLL load failed while importing _ssl: The specified module could not be found.
4

1 回答 1

0

这很有效:确保为 Firefox 安装 Coursera 身份验证帮助程序并将其添加到您的 CAUTH(我注意到此顺序每天都在变化,并且必须在 coursera-dl.conf 中更新),登录 Coursera,您应该准备好下载所有你想要的课程!确保成为专业的一部分时转到课程的链接

如果您需要更多帮助,可以阅读以下我的旅程:

编辑

到目前为止,这对许多课程都有效,我没有收到任何错误。使用 Anaconda 3 命令提示符。这是我所做的:

在环境变量中,我添加了新路径,来自这篇文章https://stackoverflow.com/a/54897379/16367595

 D:\Anaconda3 
D:\Anaconda3\Scripts
D:\Anaconda3\Library\bin 

确保检查您的外观,例如,我的在 C: 驱动器中。

然后我重新安装:

python -m pip install coursera-dl

有趣的是,这实际上只适用于一门课程,即最初学习为剧本写作等。然后,当我在另一个课程中收到以下错误时,我再次尝试了它,并且成功了。

AttributeError: 'HTMLParser' object has no attribute 'unescape'

第二天,我在其他课程中收到此错误:

403 client error, Forbidden for URL

所以最后,我确保我在所有浏览器中都登录了(不确定这是否有贡献),但是,我认为上述错误的解决方案来自更新 coursera-dl.conf 文件的 CAUTH 部分。上述成功案例使用 coursera.org 的 Google Chrome CAUTH cookie。第二天,当我为 Firefox安装 Coursera Authentication 扩展并将旧的 CAUTH 替换为扩展提供的 CAUTH 时,我工作了。

这在使用 anaconda3 提示符时运行良好,可以下载所有需要的类。

于 2021-08-02T00:07:30.083 回答