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

Réseau/Web Python Discussion :

Télécharger une page html et la lire avant qu'elle soit complète


Sujet :

Réseau/Web Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 2
    Par défaut Télécharger une page html et la lire avant qu'elle soit complète
    Salut,

    Ce que je voudrais faire c'est télécharger une page et, comme ça prend du temps, commencer à la lire avant qu'elle soit complètement téléchargée.

    Pour récupérer la page pour l'instant, j'utilise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import urllib2
    f = urllib2.urlopen('http://www.mapageweb.com')
    f.read()
    Utiliser f.readline() ou f.readlines() à la place de f.read() ne semble pas permetttre d'aller plus vite qu'avec read().

  2. #2
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 93
    Par défaut
    Dans ton code, f.read() n'est exécuté qu'après l'instruction précédente donc une fois ta page chargée.

    Pour ce que tu veux, il faudrait que la récupération et la lecture s'exécutent dans des threads différentes. De plus il faudrait que la lecture se fasse par paquets que tu transmettrais à ton thread de lecture.

    Par contre j'ai plus touché à python depuis un bout de temps donc pour te dire comment faire concrètement et pas seulement dans la structure du programme, il faudra quelqu'un d'autre!

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Bonjour,

    Personnellement, j'ai copie dans la page web suivante http://diveintopython.adrahon.org/html_processing/extracting_data.html
    le procede suivant:

    import urllib
    sock = urllib.urlopen("http://diveintopython.org/")
    htmlSource = sock.read()
    sock.close()
    print htmlSource


    Le print de htmlSource apparait instantanement a l'ecran, il n'y aucune impression de defilement.

    Ensuite, comme je voulais manipuler le contenu de htmlSource et que je n'y arrivais pas directement, j'ai essaye les instructions suivantes:

    f = open('docu', 'w')
    f.write(htmlSource)
    f.close()
    g = open('docu','r')

    et ensuite on peut lire g comme on veut.

    J'ai fait des essais.
    Avec l'adresse http://www.boursorama.com/forum/file...symbole=1rPALO, ca donne ;

    - la lecture de 'docu' sous forme de liste:
    listedelignes = g.readlines()
    print listedelignes
    est long a s'afficher (40 secondes)

    - la lecture de 'docu' ligne apres ligne:
    for line in g:
    print line
    --> ca defile pendant 25 secondes avant d'avoir le resultat


    En realite, je ne comprends pas exactement ce qui se passe.

    En utilisant le programme suivant:
    URL = raw_input(" Entrer l'URL\n}}")

    import urllib
    sock = urllib.urlopen(URL)
    print '11'
    print type(sock)
    htmlSource = sock.read()
    print '12'
    print type(htmlSource)
    sock.close()

    f = open('fichierdelignes','w')
    f.write(htmlSource)
    print '13'
    type(f)
    f.close()

    on voit que
    sock est du type 'instance'
    htmlSource est du type 'string'
    le type de f ne sort pas, sic

    Faire un read() sur sock, je sais pas trop ce que ca peut donner....
    A mon humble avis, c'est un truc tordu, et c'est pour ca que c'est long.
    D'ailleurs c'est tellement long que personnellement, j'ai essaye tes instructions, et je n'ai rien vu se passer, seulement le prompt qui reapparait 2 fois, puis rien.

    htmlSource a le type 'string'
    Mais comme cette chaine contient des caracteres de retour a la ligne, son ecriture dans un fichier donne un fichier de lignes et non pas d'une seule chaine en une seule ligne: c'est comme ca que je m'explique les choses, mais je ne garantis pas cette explication, je suis un debutant en Python.

    Personnellement j'utilise le contenu du fichier 'docu' pour en extraire du texte, et pour cela je suis oblige de couper les extremites finales des lignes qui doivent etre des retour a la ligne (EOL je crois) car si je ne les coupe pas, je n'arrive pas a faire ce que je veux des donnees.

    Voila, j'espere que cela t'aidera. Moi je debute en Python et je rame, je trouve les tutoriels mal faits sur certains points precis sur lesquels un debutant va bloquer. Le livre Dive into Python (lien donne plus haut) me semble assez mauvais pour un debutant. Il procede d'une facon seduisante de prime abord, mais on s'apercoit vite qu'on a du mal a avancer si on se limite a lui. Un livre de Swinnen, qui me paraissait au depart trop scolaire est finalement tres bien pour comprendre les notions de base avant d'aller plus loin.
    Salut

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    lien mal sorti dans le message precedent:

    http://www.boursorama.com/forum/file...symbole=1rPALO

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    ptin !!!!

    forum/file_messages.phtml?symbole=1rPALO

  6. #6
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 31
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 240
    Par défaut J'ai un petit problème
    Moi je voudrai afficher une page web dans ma explorateur. Comment puis je faire?

Discussions similaires

  1. lire une page HTML
    Par louay02 dans le forum Débuter
    Réponses: 10
    Dernier message: 06/06/2011, 12h44
  2. Lire le contenu d'une page html via PHP
    Par laure07 dans le forum Langage
    Réponses: 8
    Dernier message: 25/11/2010, 11h35
  3. Lire le contenu d'une page html via PHP
    Par overtrack dans le forum Langage
    Réponses: 1
    Dernier message: 26/05/2009, 12h09
  4. [débutant]-Lire une page HTML
    Par torso dans le forum AWT/Swing
    Réponses: 10
    Dernier message: 03/03/2006, 21h42

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