IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

lancer wget et récuperer le fichier dans une variable


Sujet :

Python

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [résolu] lancer wget et récuperer le fichier dans une variable
    Bonjour,
    je bute sur un problème, j'essaye de lancer automatiquement des requêtes wget grâce à python mais je n'arrive pas à récupérer la sortie de wget dans une variable.

    Enfin si j'arrive à récupérer la sortie d'erreur mais pas le fichier de sortie.


    f=os.popen('wget --user-agent=Mozilla/5.0 --post-data ....','r')
    file = open(f,'r')
    file.readlines()
    pipe.close()

    résultat : " file = open(f,'r')
    TypeError: coercing to Unicode: need string or buffer, file found"


    si quelqu'un a une idée

    merci d'avance

    luc

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Coucou ^^
    j'ai eu le meme probleme et j'ai pas reussi a le resoudre...ca serait trop chou si quelqu'un avait une idee >_<

    Abi

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 119
    Points : 106
    Points
    106
    Par défaut
    Je mis connait pas trop là dedans mais est-ce que ça sa marche ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     f=os.popen('wget  --user-agent=Mozilla/5.0 --post-data ....','r').readlines()
     pipe.close()

  4. #4
    Membre actif
    Avatar de Choupi
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 223
    Points : 235
    Points
    235
    Par défaut
    Chez moi ca fonctionne sans probleme en tout cas ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    >>> import os
    >>> f=os.popen('wget --user-agent=Mozilla/5.0 --post-data ....','r')
    >>> f
    <open file 'wget --user-agent=Mozilla/5.0 --post-data ....', mode 'r' at 0x40209c60>
    >>> f.readlines()
    ['wget: missing URL\n', 'Usage: wget [OPTION]... [URL]...\n', '\n', "Try `wget --help' for more options.\n"]
    C.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    merci pour vos réponsses, mais
    >>> import os
    >>> f=os.popen('wget www.developpez.net','r')
    >>> f
    <open file 'wget www.developpez.net', mode 'r' at 0x40209c60>
    >>> f.readlines()
    []

    ne retourne pas la page html de www.developpez.net
    je pensse que le fichier retourner par défaut est le message d'information de wget, et non sa sortie.

    Luc

  6. #6
    Membre actif
    Avatar de Choupi
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 223
    Points : 235
    Points
    235
    Par défaut
    hello,

    Si tu veux lire une page http, utilise les librairies dediees a cette tache :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #!/usr/bin/python
    # _*_ coding: utf-8 _*_
     
    import urllib
    import urllib2
     
    the_url = '<a href="http://www.developpez.net&#39;" target="_blank">http://www.developpez.net'</a>
    req = urllib2.Request(the_url)
    handle = urllib2.urlopen(req)
    html = handle.read()
     
    print html
    On peut tout faire avec.

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [résolu]
    oui merci j'étais entrain de m'y mettre.

    je rajoute cette ressource intéressante avec tous les détails pour ceux qui auront le même souci

    "urllib le manuel manquant"

    http://www.voidspace.org.uk/python/a...francais.shtml

    Luc

  8. #8
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 30
    Points : 20
    Points
    20
    Par défaut
    Salut, pour recuperer la sortie d'une commande dans le terminal je fais comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    cmd = "wget -nv -E -H -k -nd -p -U 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT5.0; T312461; PC SRP 2.0; .NET CLR 1.1.4322)' "+url
    output = commands.getstatusoutput(cmd)
    Et sinon pour lire une page html t'as pleins de solution, soit tu la lis d'un seul et tu fais ce que t'as a faire => urllib2
    Tu peux aussi te balader a l'interieur comme dans un fichier xml => libxml2
    Et sinon tu peux aussi faire tout ça en local, après avoir récuperer la page avec wget.

    Voila voila avec tout ça, t'as de quoi faire :p

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Choupi : fait au bon endroit
    InDaWinD : merci, je m'en suis sortit avec urllib2

    Luc

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Comment récuperer le nom d'un fichier dans une variable
    Par yaume91 dans le forum VB.NET
    Réponses: 4
    Dernier message: 13/09/2014, 13h00
  2. récupérer contenu fichier dans une variable
    Par kalyparker dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 02/07/2007, 18h10
  3. [FTP] Récupération d'un fichier dans une variable
    Par leeloo1902 dans le forum Langage
    Réponses: 3
    Dernier message: 05/06/2007, 20h31
  4. Shell: récupérer le bon nom de fichier dans une variable
    Par claralavraie dans le forum Linux
    Réponses: 1
    Dernier message: 10/01/2006, 11h45
  5. Récupérer contenu de fichier dans une variable
    Par peppena dans le forum Linux
    Réponses: 4
    Dernier message: 15/06/2005, 12h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo