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 :

Récupérer une page web


Sujet :

Python

  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 389
    Par défaut Récupérer une page web
    Bonjour a tous,

    je cherche a récupérer le contenu HTML d'une page web.
    Comme d'habitude je sort urllib et fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    url = 'monUrl'
    page = urllib.urlopen(url)
    pageHtml = page.read()
    print pageHtml
    La pas de soucie, j'ai mon HTML...
    Mais en regardant de plus prêt je vois qu'il manque du HTML dans la page !!!!!
    Après une petite analyse de la page cible, je comprend que les morceau manquant sont générer en javascript ....

    Il semble donc que urllib ne gère pas le Javascript.

    Donc savez vous comment faire pour récupérer une page web qui a certaine partie de son contenue généré en Javascript ?

    Je vous remercie par avance pour votre aide

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Tu veux dire que tu as quelque chose comme ceci dans ton html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <script type="text/javascript"
        src="http://maps.google.com/maps/api/js?sensor=false">
    </script>
    Ceci peut être lu avec urllib aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    # -*- coding: utf-8 -*-
     
    import urllib2
     
    def get_js(url):
        content = urllib2.urlopen(url).read()
        with open('j_script', 'w') as outf:
            outf.write(content)
     
    if __name__ == '__main__':
        get_js("http://maps.google.com/maps/api/js?sensor=false")
    Testé.

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 389
    Par défaut
    Non ce n'est pas vraiment cela..
    Il y a un appel a l'API REST de flickr puis une mise en forme du retour.

    Comme je n'ai pas trouver comment faire, je fais simplement la même chose que le script JS mais en Python

    Donc cela fonctionne.
    Merci tout de même pour ton aide

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

Discussions similaires

  1. Récupérer une page web en vb.net
    Par xantra dans le forum Windows Forms
    Réponses: 5
    Dernier message: 07/07/2009, 00h03
  2. Récupérer une page web complète (code+images+..)
    Par cutemeister dans le forum Général Java
    Réponses: 9
    Dernier message: 29/04/2009, 13h37
  3. Réponses: 3
    Dernier message: 10/03/2009, 13h09
  4. Récupérer une page Web distante via Post
    Par Mike Reason dans le forum Langage
    Réponses: 1
    Dernier message: 06/06/2008, 09h22
  5. [C++][Linux & Windows] Récupérer une page web
    Par Invité4 dans le forum C++
    Réponses: 4
    Dernier message: 06/04/2006, 19h21

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