我有一个类似 this 的链接, 直接到 mp3 文件。所以当我把它放在我的浏览器中时,基本上会问我是否要下载文件,但是当我通过以下代码用 python 做同样的事情时:
> data = urllib2.urlopen("http://www23.zippyshare.com/d/44123087/497548/Lil%20Wayne%20ft.%20Eminem%20-%20Drop%20The%20World.mp3".read())
我会像这样重定向到另一个链接。因此,我得到的不是 MP3 数据,而是
的 html 代码'http://www23.zippyshare.com/v/44123087/file.html'
有什么想法吗? 谢谢
最佳答案
urllib2 透明地处理重定向。您可能想查看服务器在呈现此类重定向以及允许您下载时实际执行的操作。你可能想要 subclass重定向处理程序并查看 header 的哪个属性为您提供了 url 并使用 urlretrieve 来下载它。
设置 cookie,显式尝试也可能是一个不错的尝试。
import cookielib, urllib2
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.open('yourmp3filelink')
关于python下载数据(urllib、urllib2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6461471/