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 :

Garder un morceau d'une page web


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 51
    Points : 30
    Points
    30
    Par défaut Garder un morceau d'une page web
    Bonjour,

    Avant tout je précise que ça fais 2 jours que je me suis mis au Python.
    Ce que j'essaie de faire c'est de me connecter à un site web, et de récupérer des informations qui sont dans un tableau. Je procède par étapes et tout d'abord, j'ai réussi à télécharger la page html, puis j'ai tronqué la page pour garder en gros la partie dont j'ai besoin.

    Je n'ai pas encore réussi à avoir que ce dont j'ai besoin.

    Problème c'est que je développe parfois au boulot (je sais c'est mal), donc je passe par un proxy, c'est là que le problème se pose. Quand je lance le script, il me retourne -1.

    Pouvez vous m'aider s'il vous plait, pas forcément avec les réponses mais des pistes. Je poste le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    #!/usr/bin/python
     
    import urllib
     
    proxies = {'http': 'http://1XX.1X.X.2XX:8000'}
     
    page = urllib.urlopen('http://uoif-online.com/v3/spip.php?article571', proxies=proxies)
    pageHtml = page.read()
     
    position = pageHtml.find("<div id=\"horaires\">") #recupere la position de la chaine
     
    pageHtml2 = pageHtml[position:]
     
    fichier = open("page.html","w")
    fichier.write(pageHtml2)
    fichier.close()
    Merci

  2. #2
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut
    Bonjour,

    Plutôt que de l'exécuter comme un script, installe eclipse/pydev et lance le depuis eclipse. Tu aura un message d'erreur qui t'orientera

    Autre solution plus simple pour récupérer le message d'erreur: lance ton script via un .bat avec une instruction pause.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 51
    Points : 30
    Points
    30
    Par défaut
    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
     
    import urllib
     
    proxies = {'http': 'http://X.X.X.X:YY'}
    opener = urllib.FancyURLopener(proxies)
    f = opener.open("http://url.com")
    pageHtml = f.read()
     
    fichier = open("page.html","w")
    fichier.write(pageHtml)
    fichier.close()
    Merci pour ton aide, j'ai changé le code et voila que ça marche !

    Maintenant ce que je souhaiterais faire c'est ne conserver qu'une partie de ma page html qui se trouve au milieu.

    Quelqu'un pourrait m'orienter svp ?

  4. #4
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 752
    Points
    1 752
    Par défaut
    Un module à regarder pyquery.

  5. #5
    Membre éclairé
    Homme Profil pro
    Ingénieur R&D en apprentissage statistique
    Inscrit en
    Juin 2009
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur R&D en apprentissage statistique

    Informations forums :
    Inscription : Juin 2009
    Messages : 447
    Points : 752
    Points
    752
    Par défaut
    la méthode find renvoie -1 si elle ne trouve pas la chaîne exacte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pageHtml2 = pageHtml[position:]
    renvoirait dans ce cas une chaîne vide.

    Avec 'find', la moindre variation (par ex. espaces supplémentaires) va faire échouer le script, tu devrais peut-être plutôt essayer d'utiliser un parser xml/html comme lxml ou celui que t'indique rambc.

Discussions similaires

  1. Garder la mise en forme d'une page web à l'impression
    Par 7ider5 dans le forum Débuter
    Réponses: 2
    Dernier message: 21/02/2013, 13h10
  2. [JSP][WEB] recuperer le contenu d'une page web
    Par ypikahe dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 14/03/2008, 10h10
  3. application qui connecte sur une page web
    Par spoolz dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 14/04/2004, 09h47
  4. ouvrir une page Web en mode texte
    Par Halleck dans le forum Windows
    Réponses: 7
    Dernier message: 03/03/2004, 15h08
  5. Réponses: 3
    Dernier message: 28/10/2003, 14h26

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