使用SkillshareDownloader下载课程时遇URL类ID解析失败错误求助
问题原因
项目的URL解析正则表达式未适配Skillshare当前的URL格式。你提供的URL结构为https://www.skillshare.com/en/classes/[课程名称]/[课程ID]/,而原代码的正则可能仅匹配旧版的/classes/[课程ID]结构,导致无法提取到ID。
快速解决方案(无需修改代码)
直接提取URL中的课程ID(你的课程ID是1186943986),改用项目的download_course_by_id方法下载:
- 本地运行:修改
ss.py中的代码,将dl.download_course_by_url(course_url)替换为dl.download_course_by_id("1186943986") - Colab运行:找到对应代码块,同样替换为调用
download_course_by_id并传入该ID
永久修复(适配新URL格式)
修改项目中downloader.py的URL解析逻辑:
- 打开
downloader.py文件,定位到download_course_by_url函数里解析ID的代码段 - 将原正则表达式替换为适配当前URL的版本,示例代码:
import re # 替换原正则匹配行 class_id = re.search(r'https?://www\.skillshare\.com/[\w-]+/classes/[^/]+/(\d+)/?', course_url).group(1)
- 保存修改后重新运行代码,即可正常解析目标URL
内容的提问来源于stack exchange,提问作者miro plesko
相关产品推荐
相关产品推荐

