大贤者
精华
|
战斗力 鹅
|
回帖 0
注册时间 2011-4-19
|
本帖最后由 fumeflow 于 2013-9-15 13:09 编辑
问题更新:
刚刚换个浏览器试了下 如果没cookie时 url_test地址会跳转到登陆页面 那肯定下不到了登陆页面是 https://accounts.coursera.org/signin/
其实之前就尝试过想登陆进去 但不会弄 以下是代码 求修改:
- #!/usr/bin/env python3
- import urllib
- import http.cookiejar
- url = "https://accounts.coursera.org/signin/"
- url_login = "https://accounts.coursera.org/#account/signedin"
- url_lesson = "https://class.coursera.org/linearprogramming-001/lecture/index/"
- postdata = {
- 'signin-email':'fumeflow@gmail.com',
- 'signin-password':'fumeflow'
- }
- cookieProc = urllib.request.HTTPCookieProcessor( http.cookiejar.CookieJar() )
- opener = urllib.request.build_opener(cookieProc)
- opener.addheaders = [('User-agent','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)')]
- params = urllib.parse.urlencode(postdata)
- params = params.encode('utf-8')
- opener.open(url_lesson,params)
- op = opener.open(url_lesson).read().decode("utf-8")
- print(op)
复制代码 --------------------以下是老问题---------------------------------
具体需求是这样的 鄙人经常下载coursera上的视频教程
但该网站的教程 srt字幕和MP4文件 每个小节都要单独点击 点击量不小
用迅雷可以批量下载文件 但文件名都是download.mp4
所以想用python写个程序 批量下载
url_test = "https://class.coursera.org/metadata-001/lecture/download.mp4?lecture_id=7"
url_true = "https://d28rh4a8wq0iu5.cloudfront.net/metadata/recoded_videos/1-3_OSXMavericks.fb99681489c36236bd52e12ec52257df.mp4?response-content-type=application%2Foctet-stream&response-content-disposition=attachment%3B%20filename%3D%221%20-%203%20-%201-3%20OSX%20Mavericks%20-%20413.mp4%22"
如上所示 url_test是网页内部嵌入的可供点击的下载链接
如果用浏览器点击 会自动跳转成url_true 并且在python里用url_true 可以正常下载
但如何用python通过url_test的链接 自动获取url_true呢?(方法越简单越好 初学python 不过有一些c和java基础)
|
|