如何使用curl从Coursera下载视频?

如何使用curl从Coursera下载视频?

从以下位置下载视频Coursera并不像在终端中复制并粘贴链接那么容易。我也尝试过出口来自我的浏览器的 cookiescookie.txt文件并执行以下操作:

curl --cookie cookie.txt "https://class.coursera.org/comnetworks-2012-001/lecture/download.mp4?lecture_id=37"

如建议的这个问题但这会产生一个名称download.mp4?lecture_id=37中没有任何内容的文件。

谁能告诉我如何下载这些视频讲座?因为用浏览器下载它们是有风险的(我的连接速度很慢,如果偶然发生一些错误,我会浪费太多时间重新下载)。

答案1

与任何网络服务一样,具体方法有很大变化。

在里面Coursera-DL项目中,我们尝试施展所有魔法。该代码涉及跳过一些重定向并保留 cookie(几乎每次登录时都会更改),但您可以使用选项运行它--debug以查看它如何调用curlwget您喜欢的下载器。

免责声明:我是该项目的贡献者。

答案2

服务器使用状态代码进行响应302,该状态代码是临时移动的请求的 URI。

如果您查看 http 响应的标头

curl -i --cookie cookie.txt <URL>

并且有一个有效的location给定,默认情况下,curl 不会重做对此新位置的请求。为此curl,您必须将-L开关添加到命令行。

所以

curl -L --cookie cookie.txt <URL>

应该做这项工作。


请注意:如果您使用wget而不是curl您就不会遇到您所描述的情况。

答案3

您始终可以使用 Dhulkee Coursera。它是一个基于 GUI 的应用程序,专门用于从 Coursera.org 批量下载视频。尝试一下:http://dhulkeecoursera.blogspot.com.br/2014/02/dhulkee-coursera-has-gone-open-source.html

相关内容