使用coursera-dl下载Coursera视频时遭遇404错误求助
问题描述
在Windows系统中使用coursera-dl工具下载Coursera课程《Neural Networks and Deep Learning》,执行命令:
coursera-dl neural-networks-deep-learning
出现如下404错误:
coursera_dl version 0.11.5 Downloading class: neural-networks-deep-learning (1 / 1) Parsing syllabus of on-demand course (id=W_mOXCrdEeeNPQ68_4aPpA). This may take some time, please be patient ... Error 404 Client Error: Not Found for url: https://api.coursera.org/api/onDemandCourseMaterials.v1/?q=slug&slug=neural-networks-deep-learning&includes=moduleIds%2ClessonIds%2CpassableItemGroups%2CpassableItemGroupChoices%2CpassableLessonElements%2CitemIds%2Ctracks&fields=moduleIds%2ConDemandCourseMaterialModules.v1(name%2Cslug%2Cdescription%2CtimeCommitment%2ClessonIds%2Coptional)%2ConDemandCourseMaterialLessons.v1(name%2Cslug%2CtimeCommitment%2CelementIds%2Coptional%2CtrackId)%2ConDemandCourseMaterialPassableItemGroups.v1(requiredPassedCount%2CpassableItemGroupChoiceIds%2CtrackId)%2ConDemandCourseMaterialPassableItemGroupChoices.v1(name%2Cdescription%2CitemIds)%2ConDemandCourseMaterialPassableLessonElements.v1(gradingWeight)%2ConDemandCourseMaterialItems.v1(name%2Cslug%2CtimeCommitment%2Ccontent%2CisLocked%2ClockableByItem%2CitemLockedReasonCode%2CtrackId)%2ConDemandCourseMaterialTracks.v1(passablesCount)&showLockedItems=true getting page https://api.coursera.org/api/onDemandCourseMaterials.v1/?q=slug&slug=neural-networks-deep-learning&includes=moduleIds%2ClessonIds%2CpassableItemGroups%2CpassableItemGroupChoices%2CpassableLessonElements%2CitemIds%2Ctracks&fields=moduleIds%2ConDemandCourseMaterialModules.v1(name%2Cslug%2Cdescription%2CtimeCommitment%2ClessonIds%2Coptional)%2ConDemandCourseMaterialLessons.v1(name%2Cslug%2CtimeCommitment%2CelementIds%2Coptional%2CtrackId)%2ConDemandCourseMaterialPassableItemGroups.v1(requiredPassedCount%2CpassableItemGroupChoiceIds%2CtrackId)%2ConDemandCourseMaterialPassableItemGroupChoices.v1(name%2Cdescription%2CitemIds)%2ConDemandCourseMaterialPassableLessonElements.v1(gradingWeight)%2ConDemandCourseMaterialItems.v1(name%2Cslug%2CtimeCommitment%2Ccontent%2CisLocked%2ClockableByItem%2CitemLockedReasonCode%2CtrackId)%2ConDemandCourseMaterialTracks.v1(passablesCount)&showLockedItems=true The server replied: <html> <head> <title>Coursera - API Route Does Not Exist</title> </head> <body style="background-color:#e4e4e4"> <div style="position:absolute; top:0; bottom:0; left:0; right:0; margin:auto; height:200px; width: 600px"> <div style="text-align:center"> <img src="https://s3.amazonaws.com/coursera/error_pages/coursera-logo.svg" width="400"> </div> <h1 style="text-align:center; font-family:Helvetica, Arial, sans-serif; font-weight:100; color: #555"> API Route Does Not Exist </h1> <div style="text-align:center; font-family:Helvetica, Arial, sans-serif; font-weight:300; font-size:13pt; color: #555"> Edge does not know about this API route. <br> Check whether this route is exposed in the routing table. </div> </div> </body> </html> HTTPError 404 Client Error: Not Found for url: https://api.coursera.org/api/onDemandCourseMaterials.v1/?q=slug&slug=neural-networks-deep-learning&includes=moduleIds%2ClessonIds%2CpassableItemGroups%2CpassableItemGroupChoices%2CpassableLessonElements%2CitemIds%2Ctracks&fields=moduleIds%2ConDemandCourseMaterialModules.v1(name%2Cslug%2Cdescription%2CtimeCommitment%2ClessonIds%2Coptional)%2ConDemandCourseMaterialLessons.v1(name%2Cslug%2CtimeCommitment%2CelementIds%2Coptional%2CtrackId)%2ConDemandCourseMaterialPassableItemGroups.v1(requiredPassedCount%2CpassableItemGroupChoiceIds%2CtrackId)%2ConDemandCourseMaterialPassableItemGroupChoices.v1(name%2Cdescription%2CitemIds)%2ConDemandCourseMaterialPassableLessonElements.v1(gradingWeight)%2ConDemandCourseMaterialItems.v1(name%2Cslug%2CtimeCommitment%2Ccontent%2CisLocked%2ClockableByItem%2CitemLockedReasonCode%2CtrackId)%2ConDemandCourseMaterialTracks.v1(passablesCount)&showLockedItems=true
解决办法
- 升级至最新开发版:0.11.5是老旧稳定版,Coursera已废弃该版本调用的API路由。操作步骤:
- 卸载旧版:
pip uninstall coursera-dl - 安装最新开发版:
pip install git+https://github.com/coursera-dl/coursera-dl.git
- 卸载旧版:
- 添加账号认证:升级后需带上Coursera账号信息才能访问受限课程,命令格式:
若密码含特殊字符,用双引号包裹密码内容。coursera-dl -u 你的注册邮箱 -p 你的账号密码 neural-networks-deep-learning - 备用方案:若上述方法仍失效,可使用yt-dlp直接抓取单节视频,获取目标视频的页面URL后执行:
yt-dlp "视频页面完整URL"
内容的提问来源于stack exchange,提问作者Ahmad
相关产品推荐
相关产品推荐

