rmmmm
rmmmm

Reputation: 21

python downloading data (urllib, urllib2)

I have a link like this, direct to a mp3 file. So when I put it in my browser, basically asks me if I want to download the file, however when I do the same thing with python by the following code :

> data = urllib2.urlopen("http://www23.zippyshare.com/d/44123087/497548/Lil%20Wayne%20ft.%20Eminem%20-%20Drop%20The%20World.mp3".read())

I will redirected to another link like this. Therefore, instead of the MP3 data, I am getting the html code for

'http://www23.zippyshare.com/v/44123087/file.html'

any ideas ? thanks

Upvotes: 2

Views: 1579

Answers (2)

Senthil Kumaran
Senthil Kumaran

Reputation: 56831

urllib2 handles redirection transparently. You might want to see what the server is actually doing when it is presenting such a redirection as well allowing you to download. You might want to subclass the redirect handler and see which property of the header is giving you the url and use urlretrieve to download that.

Setting the cookies, trying explicitly might be a good try as well.

import cookielib, urllib2
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.open('yourmp3filelink')

Upvotes: 2

Patrick Perini
Patrick Perini

Reputation: 22633

Your link redirects to an HTML webpage, most likely because your download request is timing out. That's often how these download websites work: you never get a static link to the download, only a temporarily assigned link.

My guess is that there's no way to get that static link using that website. You'd have to know where that file was actually coming from.

So no, nothing is wrong with your python code; just your sources.

Upvotes: 0

Related Questions