begin process at 2010 09 04 20:04:29
  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 lancement de script Python [ par informatica2010 ] Bonjour, J'ai une Q qui pourrait peut-être vous paraître bête, mais je suis bloquée depuis +ieurs jours là-dessus. Il s'agit de lancer un script Pyt A PARTIR D'UNE FORM1 OUVRIR UNE FORM2 [ par rebillard ] bonjour à tous, dans le cadre d'une application, je rencontre quelques difficultés, et compte sur votre aide pour avancer davantage. dans le cadre d Traitement de fichier texte [ par garoubeef ] Bonjour, je dispose d'un fichier texte rempli d'adresses email. Je dois traiter ce fichier de façon à recupérer la chaine de caractère precedent le " Imprimer un fichier *.txt depuis python [ par sevanaya ] Bonjour a tous, Je vais peut etre passer pour un naz, mais je débute soyez indulgeants S.V.P !! Alors voila mon probleme je devellope en ce moment enregistrer un fichier .txt avec caractères accentués [ par Mic92 ] Bonjour à tous J'enregistre dans une BDD (sqlite) pas de problème les caractères accentués sont enregistré, Mais si je veux enregistrer une fichier . 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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
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,203 sec (3)

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