简单python问题 怎么用cookie登陆coursera
本帖最后由 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基础)
问题更新下 求高手点拨 楼主何苦自己写。。。
http://mooc.guokr.com/post/427070/Coursera%E7%BD%91%E7%AB%99%E8%AF%BE%E7%A8%8B%E6%89%B9%E9%87%8F%E4%B8%8B%E8%BD%BD%E7%A8%8B%E5%BA%8F/
而且竟然是py3 zxc111 发表于 2013-9-15 14:18
楼主何苦自己写。。。
http://mooc.guokr.com/post/427070/Coursera%E7%BD%91%E7%AB%99%E8%AF%BE%E7%A8%8B% ...
多谢提高工具
ps 其实我也想学python zxc111 发表于 2013-9-15 14:18
楼主何苦自己写。。。
http://mooc.guokr.com/post/427070/Coursera%E7%BD%91%E7%AB%99%E8%AF%BE%E7%A8%8B% ...
表示我只会py3……因为gentoo默认py3 本帖最后由 fumeflow 于 2013-9-15 21:54 编辑
johentai 发表于 2013-9-15 20:07
一般不是2.7吗。。。
初学 寻思直接学最新的
莫非现在2.7是主流?
PS. 用DownThemAll下载了 比那个第三方工具更方便些 回头学习下别人的代码了
换httplib2,然后存/调cookies,再soap一下(好像更复杂了)
----发送自 LGE Nexus 4,Android 4.3 我用mechanize 基本都能登
但是如果页面里面显示是JS 就没办法啦 写新东西又不用2的库,为什么不能用3
页:
[1]