我在用Ubuntu 11.10想要下载斯坦福开放课堂视频..基本上用于离线观看,
前任:http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=WebApplications
提前感谢
答案1
使用 Firefox视频下载助手添加在。
答案2
将以下代码复制到新文档中,并将其保存在新目录中下载器.py。
#!/usr/bin/env python import urllib from BeautifulSoup import BeautifulSoup COURSE_URL = 'http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=WebApplications' def download_video(video_name): course_name = COURSE_URL.split('course=')[1] request = urllib.urlopen('http://openclassroom.stanford.edu/MainFolder/'\ 'courses/{0}/videos/{1}.xml'.format(course_name, video_name)) response = request.read() flv_name = response.split('<videoFile>')[1].split('</videoFile>')[0] print 'Downloading: %s' % flv_name urllib.urlretrieve('http://openclassroom.stanford.edu/MainFolder/courses/'\ '{0}/videos/{1}'.format(course_name, flv_name), flv_name) def main(): request = urllib.urlopen(COURSE_URL) response = request.read() soup = BeautifulSoup(response) results = soup.findAll('div', {'class': 'results-list'}) for result in results: lists = result.findAll('li') for li in lists: urls = li.findAll('a') for url in urls: video_name = str(url).split('video=')[1].split('&')[0] download_video(video_name) if __name__ == '__main__': main()
打开一个新终端(按Alt+F2并输入'终端'),并确保你有python-beautifulsoup通过输入以下命令安装软件包:
sudo apt-get install python-beautifulsoup
导航到下载器.py文件所在的位置(使用'光盘' 命令)。
使用运行文件Python命令:
python downloader.py
等待所有视频文件下载完毕。它们应该出现在下载器.py文件位于。
如果你想下载其他课程,你必须更改“COURSE_URL”变量下载器.py文件内容中包含您要下载的课程的URL地址。
答案3
这对我有用:
sudo apt-get install youtube-dl
youtube-dl 'SOMEURL'
例如
youtube-dl 'http://openclassroom.stanford.edu/MainFolder/VideoPage.php?course=ufldl&video=03.1-NeuralNetworks-Representation&speed=100'
答案4
我刚刚基于 Python 3.5 和简单的请求库编写了自己的简单下载器。没什么神奇的。一探究竟
只需运行python downloader.py
,选择您的课程并享受并行下载:)
该脚本将首先获取完整的课程列表并让您选择。然后在您选择后,它将获取课程描述并将其所有视频下载到以课程名称命名的文件夹中。