begin process at 2010 03 18 05:39:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Python

 > 

Réseau et Internet

 > 

Général

 > 

Telecharger fichier a partir d'url


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Telecharger fichier a partir d'url

samedi 12 mai 2007 à 11:22:56 | Telecharger fichier a partir d'url

sheorogath

Membre Club Administrateur CodeS-SourceS
bonjour a tous ,
je voudrais avoir une piste de recherche quant a telecharger un fichier a partir d'une url connu :
peut recuperer comme en java le flux d'entre d'un objet urllib2 (genre un getInputStream)
 ou alors une urllib2.openurl(monurl).read() ou alors derniere solution :
j'ouvre une socket et je fais une requete get sur l'url donnant le fichier ? et je lis le fichier en lisant dans la socket

selon vous qu'elle est la meilleur maniere ?

merci
bonne journee
 "n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
samedi 12 mai 2007 à 22:53:11 | Re : Telecharger fichier a partir d'url

DoudouBidou

Tout dépends ce que tu veux faire et la taille de ton fichier mais perso je pense que le simple et rapide est de faire urllib2.openurl(monurl).read()
au moins tu ne t'occupe de rien pour ce qui est du socket et du protocol


samedi 12 mai 2007 à 22:54:51 | Re : Telecharger fichier a partir d'url

sheorogath

Membre Club Administrateur CodeS-SourceS
ben en fait je voulais pouvoir gerer l'avancement du telechargment ...
c'etait pour faire un prog qui telecharge les video sur youtube (je l'ai fais en java) et je voulais pour mon second prog python faire cela ...
je vais m'oriente cote socket je pense ...
merci bien
++

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
samedi 12 mai 2007 à 23:26:42 | Re : Telecharger fichier a partir d'url

DoudouBidou

Réponse acceptée !
ben tu peux le faire aussi avec urllib2
exemple : je veux récupérer la d'accueil de google

import urllib2
url = "http://www.google.fr"
fp = urllib2.urlopen(url)

#longueur du fichier
lg = fp.headers.get('content-length')

data = ''
for i in range(lg):
    data += fp.read(1) # <= ici je lis le fichier bit par bit

fp.close()
samedi 12 mai 2007 à 23:28:39 | Re : Telecharger fichier a partir d'url

sheorogath

Membre Club Administrateur CodeS-SourceS
ouais je vois mais si je fais openurl il charge le fichier donc apres ca ne sert a rien de le lire bit par bit ... ce que je veux c'est la progression au cours du temps et mise a part les socket je vois pas d'autre moyen de le faire ...

en tout cas merci poru tes reponses

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
samedi 12 mai 2007 à 23:36:44 | Re : Telecharger fichier a partir d'url

DoudouBidou

il charge le fichier? c'est nouveau ça
non ! urlopen ne charge pas le fichier il ouvre simplement la connexion
les données ne sont télécharger qu'au moment du read
dimanche 13 mai 2007 à 01:27:33 | Re : Telecharger fichier a partir d'url

sheorogath

Membre Club Administrateur CodeS-SourceS
excuse pardon j'ai supperpose mon code au tien en fait je crois que tu viens de resoudre mon pb

je croyais avoir lu un fp = urllib2.urlopen(url).read() ...
je met resolu car je pense que c ca que je cherchais
merci bien
bonen soiree


"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
dimanche 13 mai 2007 à 09:20:00 | Re : Telecharger fichier a partir d'url

DoudouBidou

Réponse acceptée !
fp.headers.get('content-length') #<= ne pas oublier de le convertir en int car c'est du texte

je ne dis pas que c'est la meilleur solution, j'ignore ce que ça vaut niveau rapidité de téléchargement, je pense qu'il vaut mieux lire les bits 16 par 16 ou 32 par 32 plutot que 1 par 1
cette méthode ne te permet pas de télécharger un morceau du fichier situé n'importe où dans le fichier, tu commences obligatoirement par le début, mais je pense qu'on doit pouvoir le faire n'utilisant pas directement urlopen mais en créant un opener "spécial"
comme je le disais c'est la méthode la plus simple pour suivre un téléchargement
dimanche 13 mai 2007 à 10:45:06 | Re : Telecharger fichier a partir d'url

sheorogath

Membre Club Administrateur CodeS-SourceS
oui en tout cas ca me conviens parfaitement ... ce que je voulais c'etait pouvoir suivre l'avancement et ta methode semble repondre a ce probleme je vais d'ailleurs l'essayer de suite ^^
pour la conversion ok merci de me le dire car comme le type n'est pas explicite jeme serais fait avoir je pense

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
dimanche 13 mai 2007 à 12:04:49 | Re : Telecharger fichier a partir d'url

DoudouBidou

pour récupérer la taille on peut faire comme ça aussi, ça revient au même
int(fp.info()['content-length'])

pour faire un calcul sur la vitesse de téléchargement c'est plus simple de récupérer 1024 bits à chaque fois, tu pourras faire un calcul en ko directement

1 2

Cette discussion est classée dans : fichier, partir, url, telecharger, urllib2


Répondre à ce message

Sujets en rapport avec ce message

Envoi de fichier sur ftp avec un proxy [ par tititoss91 ] Bonjour, je suis en train de réaliser un projet qui permet de récupérer un fichier dans un répertoire, de le zipper et ensuite de l'envoyer sur un ser récupération des données dans fichier odb [ par KoolCampos ] Slt, je suis un débutant dans la programmation avec Python. J'ai un problème. Au fait , j'ai lancé un calcul sous abaqus et j'ai le fichier de sortie Charger une matrice d'un fichier [ par Alambiqux ] Bonjour, J'ai des fichiers colonnes de floats et je souhaiterais les charger dans une liste. Et, également,de manière plus général lorsqu'il s'agit d Dev plugin Blender [ par neodante ] NeodanteNeodante<img src=/imgs2/smile_big.gif border=0 align="absmiddle" probleme avec os.path.getctime() [ par Bl0tCh ] Voilà, Donc cette fonction est censée me donner la date de creation du fichier (en secondes) mais le probleme c ke elle me donne la premiere date de c ecrire un dico dans un fichier texte [ par airod ] je cherche depuis un bout de temps mais rien y fait! Mon prob: je pars d'un fichier de config (*.cfg), et j'en crée un dico dans mon appli, ceci me s menu contextuel au clic de souris [ par frankystadore ] Bonjour à tous, chers programmeurs!! Je suis actuellement en train de créer une interface en Python, et j'aimerai savoir comment faire une sélection d Fichiers en python [ par darfeuille ] Salut,   Etant novice en python, je bloque sur un truc :   Dans un de mes programmes, a un moment, je dois recopier un fichier (en le modifiant) d'u Date de création des fichiers par ftp [ par judre ] Salut, J'ai une application qui transfère une tonne de fichier par ftp en utilisant ftplib.  J'aimerais savoir si y'a un truc pour télécharger les fi comment créer un fichier HTML avec Python [ par anwaarber ] salut a tous,j'ai un problème lors de la création d'un fichier HTML avec pythonsurtout quand je fait passer des variables dans le code :def informatio


Nos sponsors


Appels d'offres

Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,218 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales