2011-06-20 3 views
2

Comment puis-je récupérer une image d'une URL connue et la sauvegarder sur mon ordinateur en utilisant Python (v2.6)? MerciPython - comment extraire des images sur Internet

+0

double possible: http://stackoverflow.com/questions/1482600/grab-an-image-via-the-web-and-save-it-with-python – Kai

+0

Kai - que l'on n » Je veux l'enregistrer sur le disque local –

Répondre

8

Vous pouvez utiliser urllib.urlretrieve.

Copiez un objet réseau indiqué par une URL dans un fichier local, si nécessaire.

Exemple:

>>> import urllib 
>>> urllib.urlretrieve('http://i.imgur.com/Ph4Xw.jpg', 'duck.jpg') 
('duck.jpg', <httplib.HTTPMessage instance at 0x10118e830>) 
# by now the file should be downloaded to 'duck.jpg' 
0

batteries sont incluses dans urllib:

urllib.urlretrieve(yourUrl, fileName)

1

Vous pouvez utiliser urllib.urlretrieve:

import urllib 
urllib.urlretrieve('http://example.com/file.png', './file.png') 

Si vous avez besoin m flexibilité du minerai, utilisez urllib2.

1

En l'absence de tout contexte, ce qui suit est un exemple simple d'utilisation des modules de la bibliothèque standard pour faire une demande HTTP non authentifié GET

import urllib2 
response = urllib2.urlopen('http://lolcat.com/images/lolcats/1674.jpg') 
with open('lolcat.jpg', 'wb') as outfile: 
    outfile.write(response.read()) 

EDIT:urlretrieve() est nouveau pour moi. Je suppose que vous pouvez le transformer en une ligne de commande one-liner ... si vous vous ennuyez.

$ python -c "import urllib; urllib.urlretrieve('http://lolcat.com/images/lolcats/1674.jpg', filename='/tmp/1674.jpg')" 
+0

Comment faire une demande authentifiée? Et fait-il une différence quant à celui pour lequel vous allez? – user3624582

0
import urllib2 
open("fish.jpg", "w").write(urllib2.urlopen("http://www.fiskeri.no/Fiskeslag/Fjesing.jpg").read()) 
0

facile.

import urllib 
urllib.urlretrieve("http://www.dokuwiki.org/_media/wiki:dokuwiki-128.png","dafile.png") 
Questions connexes