Rudolph
Rudolph

Reputation: 77

How to download file from link like this?

I want to ask how to download file using Python from a link like this, I crawled through the stack for a while and didn't find anything that works.

I got a link to a file, something like this:

https://w3.google.com/tools/cio/forms/anon/org/contentload?content=https://w3.ibm.com/tools/cio/forms/secure/org/data/f48f2294-495b-48f5-8d4e-e418f4b25a48/F_Form1/attachment/bba4ddfd-837d-47a6-87ef-2114f6b3da08 (link doesn't work, just showing you how it should look)

And after clicking on it it opens a browser and starts opening file:

enter image description here

I don't know how the file will be named or what format file will have, I only have a URL that links to file like this image up.

I tried this:

def Download(link):
    r = requests.get(link)
    with open('filename.docx', 'wb') as f:
        f.write(r.content)

But this definitely doesn't work, as you can see I manually put the name of the file because it desperate but it doesn't work either, it makes file but only 1kb size and nothing in it.

I don't know how to code it to automatically download it from links like this? Can you help?

Upvotes: 0

Views: 251

Answers (2)

user12867493
user12867493

Reputation:

You can use urllib.request.urlretrieve to get the contents of the file.

Example:

import urllib.request
with open('filename.docx', 'wb') as f:
    f.write(urllib.request.urlretrieve("https://w3.google.com/tools/cio/forms/anon/org/contentload?content=https://w3.ibm.com/tools/cio/forms/secure/org/data/f48f2294-495b-48f5-8d4e-e418f4b25a48/F_Form1/attachment/bba4ddfd-837d-47a6-87ef-2114f6b3da08"))

Upvotes: 0

Lucaash
Lucaash

Reputation: 131

use urlretrieve from urllib. See here

Upvotes: 2

Related Questions