[Python] Récupérer le code "complet" d'une page
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

[Python] Récupérer le code "complet" d'une page



  1. #1
    Loupsio

    [Python] Récupérer le code "complet" d'une page


    ------

    Bonjour,
    J'essai de récupérer une valeur sur une page html, avec python

    J'arrive a retrouver ce que je cherche dans le debogueur (click droit - examiner l'élément) cependant lorsuq'au lieu d'examiner l'élément je choisis, "click droit - code source de la page" je n'ai pas le code entier, il ne m'affiche que :
     Cliquez pour afficher


    par exemple dans "examiner l'éléments", ce qui correspond a la ligne : <frame name="pw_main_frame" src="pw_main.html" frameborder="0"> peut etre déroulé, et il y a tout une partie de code que je ne vois pas dans "code source de la page"


    Mon probleme, c'est que lorsque j'importe le code avec python avec un
    Code:
    page=urllib.request.urlopen("http://monsite.html")
    page.read()
    je me retrouve avec le code source "abrégé" et tout le contenu qui se qui se trouve dans le <frame name="pw_main_frame" src="pw_main.html" frameborder="0"> n'apparait pas



    Est ce que c'est possible que python ait le code entier tel qu'on le voit dans le debogueur "examiner l'élément" plutot que la version abrégée qu'on voit dans "code source de la page"?

    Merci

    -----

  2. #2
    Tryss2

    Re : [Python] Récupérer le code "complet" d'une page

    Il faut aller chercher les pages qui sont dans les frames. Ce qui veux dire :

    - importer la page originale
    - pour chaque frame dans la page, importer la page source de la frame

  3. #3
    Loupsio

    Re : [Python] Récupérer le code "complet" d'une page

    Ok, merci pour ta réponse, j'allais demander, où trouver cette page, mais je viens de voir que src renvoyait ailleurs, après avoir cherché un peu, effectivement l'argument src m'indiquait le chemin

    Par contre une fois avoir modifié le chemin d'accès je relance et après avoir cherché la partie qui m'intéresse dans le page.read() j'ai isolé :
    <div id="digTable"></div><br/>
    <div id="anaTable"></div><br/>
    <div id="intTable"></div><br/>

    sauf qu'encore une fois dans l'examinateur , chacune de ces trois lignes peut se dérouler et dedans je trouve un <table></table> (entre autre) et c'est dans ce tableau que ma donnée d'intérêt se trouve
    Cependant sur python le tout est résumé par : <div id="anaTable"></div><br/>
    et cette fois pas d'arguments "src" pour trouver cette fraction de code (le tableau) ailleurs
    Ou est ce que je peux récupérer le code contenu à l'intérieur de chacune de ces trois lignes?

  4. #4
    CM63

    Re : [Python] Récupérer le code "complet" d'une page

    Bonjour,

    Utilise le parseur de code html, il doit y avoir une library pour cela dans Python (à moins que tu ne l'utilises déjà). Fait une recherche dans google : "parser" "html" "python" .

  5. A voir en vidéo sur Futura
  6. #5
    Loupsio

    Re : [Python] Récupérer le code "complet" d'une page

    Bonjour,
    j'utilise déjà BeautifulSoup, car je recherche un id en particulier
    Code:
    soup = bs4.BeautifulSoup(page2, 'html.parser')
    et je voulais retrouver derrière avec
    Code:
    soup.find_all(id="avar1")
    ou encore
    Code:
    variable.b.get_text(' ',strip=True)
    mais le table n'est directement "pas" dans ce que le page.read() extrait, ducoup beautifulsoup ne trouve pas l'id qui m'intéresse car il extrait
    Code:
    <div id="anaTable"></div><br/>
    sauf qu'entre le " <div id="anaTable"> " et le " </div> " il n'y a rien d'extrait par python (alors que dans l'examinateur d'élément on retrouve le tableau) donc parser n'apporte rien puisque la partie qui m'interesse n'est pas dans le page.read() donc pas dans ce qui est parsé non plus
    Dernière modification par Loupsio ; 26/10/2017 à 12h50.

  7. #6
    CM63

    Re : [Python] Récupérer le code "complet" d'une page

    Ben ouais, je ne comprends pas pourquoi le parseur ne parse pas tout.

  8. #7
    Loupsio

    Re : [Python] Récupérer le code "complet" d'une page

    Parce qu'en fait il récupère le code source, mais ceci est géré (je l'ai vu qu'aujourd'hui) par du javascript, donc pas dans le code source vraiment,
    je programme pas souvent et je met encore moins souvent le nez dans du html ducoup ca m'a mis du temps de le voir, mais en fait dans chacune de ces trois ligne, le tableau que je retrouve (et qu'est pas présent dans le .read() de python, il est géré par une autre partie du code, qui se trouve dans un <script ></script>
    comme ducoup le probleme que j'ai vient de la récupération d'une donnée de variable javascript ca correspondait plus trop avec le sujet initial puisque c'est pas du html, ducoup le problème que je rencontre se trouve ici :
    http://forums.futura-sciences.com/pr...ript-ajax.html

Discussions similaires

  1. Somme d'une boucle "for" [ Programmation Débutant , (Python)]
    Par xamannel dans le forum Programmation et langages, Algorithmique
    Réponses: 10
    Dernier message: 07/02/2016, 12h37
  2. Python: transformer 103 en ("3","0","1")
    Par WhiteChocapic dans le forum Programmation et langages, Algorithmique
    Réponses: 12
    Dernier message: 24/10/2015, 15h54
  3. python : probleme avec .encode("hex")
    Par docEmmettBrown dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 10/06/2015, 07h47
  4. Devis complet "Jidé" : vos avis SVP ?
    Par invite93554f6a dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 27
    Dernier message: 18/03/2012, 09h58
  5. code "décimale codé binaire" et "code excédent 3"
    Par invitee38d9e00 dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 10/04/2011, 22h43