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 :

Beatifulsoup scrapping forum [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 2
    Par défaut Beatifulsoup scrapping forum
    Bonjour,
    j'essaie actuellement de collecter tous les messages et les id de ces messages d'un forum: http://forum.doctissimo.fr/medicamen...ujet_953_1.htm
    j'ai réussi à le faire avec des messages normaux(i.e qui sont pas une réponse d'un autre message) et je sais pas comment le faire pour les autres messages voila un exemple du message

    Nom : help.png
Affichages : 145
Taille : 339,7 Ko

    et voila mon 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
     
    from bs4 import BeautifulSoup
    from a import *
    import urllib.request
    page=urllib.request.urlopen("http://forum.doctissimo.fr/medicaments/Neuroleptiques/souhaite-arreter-vousdes-sujet_953_1.htm")
    strpage=page.read().decode(page.headers.get_content_charset())
    soup=BeautifulSoup(strpage,'lxml')
     
     
    u=soup.prettify()
    v=soup.find_all('div','post_content')
     
    for i in range(len(v)):
        x=unidecode(v[i].contents[0].contents[0])
        print(x)
    voila le resultat de mon code :
    Nom : l.png
Affichages : 209
Taille : 201,0 KoNom : l.png
Affichages : 209
Taille : 201,0 Ko
    comme vous pouvez le voir ca affiche les messages "normaux" mais pas les autres.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 743
    Par défaut
    Salut,

    Citation Envoyé par lackdark Voir le message
    je sais pas comment le faire pour les autres messages voila un exemple du message
    C'est un travail qui demande de décortiquer la structure de la page HTML pour y trouver sur quelles balises, attributs,... appeler ".find_all" (ou autre) pour trier.
    Pas grand monde fera ce boulot (un peu galère) à votre place.

    La seule suggestion que je peux vous faire est de sauvegarder la page HTML dans un fichier et de relire le fichier avec votre navigateur pour voir le contenu ramené par request.urlopen. Ca va éliminer ce qui est récupéré par du Javascript qui pourrait être à l'intérieur (et vous conforter sur l'existence de ces données dans ce qui a été lu).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    Cadeau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    from bs4 import BeautifulSoup
    import urllib.request
    page=urllib.request.urlopen("http://forum.doctissimo.fr/medicaments/Neuroleptiques/souhaite-arreter-vousdes-sujet_953_1.htm")
    soupe = BeautifulSoup(page, 'lxml')
     
    elem1 = soupe.find_all('div', attrs={'itemprop': 'text'})
    #print(elem1)
    for elem2 in elem1:
        print("-"*50)
        print(elem2.text)
        print("-"*50)

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 2
    Par défaut
    Citation Envoyé par marco056 Voir le message
    Cadeau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    from bs4 import BeautifulSoup
    import urllib.request
    page=urllib.request.urlopen("http://forum.doctissimo.fr/medicaments/Neuroleptiques/souhaite-arreter-vousdes-sujet_953_1.htm")
    soupe = BeautifulSoup(page, 'lxml')
     
    elem1 = soupe.find_all('div', attrs={'itemprop': 'text'})
    #print(elem1)
    for elem2 in elem1:
        print("-"*50)
        print(elem2.text)
        print("-"*50)
    merci c'est impeccable !

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

Discussions similaires

  1. Le grand mode d'emploi du forum, à lire si vous souhaitez tout savoir !
    Par Anomaly dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 2
    Dernier message: 03/06/2013, 17h36
  2. Obligatoire : lisez les règles du forum : MAJ 06/08/2010
    Par Anomaly dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 0
    Dernier message: 03/07/2008, 13h46
  3. À lire OBLIGATOIREMENT avant de poster sur ce forum
    Par ok.Idriss dans le forum Débats sur le développement - Le Best Of
    Réponses: 2
    Dernier message: 24/09/2006, 23h21

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