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 :

Traitement de texte avec Python


Sujet :

Python

  1. #1
    Membre extrêmement actif
    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
    Points : 1 658
    Points
    1 658
    Par défaut Traitement de texte avec Python
    Bonjour,

    Je voudrais faire un programme en Python pour automatiser l'extraction du texte de certaines pages web et les ajouter à la suite d'un texte préexistant.

    Je vise d'abord de réaliser le processus élémentaire suivant. Ensuite, je pourrai complexifier.

    Dans la page http://www.boursorama.com/forum/message.phtml?file=354639372&pageForum=1 , je voudrais extraire le texte " tjrs pas de news, imressionnant la communication de cette entreprise" et le coller à la suite d'un texte dans un fichier WordPad.

    Le petit programme suivant permet de placer le code HTML de la page web en question dans un objet htmlSource:
    >>> import urllib
    >>> sock = urllib.urlopen("http://www.boursorama.com/forum/message.phtml?file=354758883&pageForum=1")
    >>> htmlSource = sock.read()
    >>> sock.close()
    >>> print htmlSource


    Ensuite, je ne sais plus quoi faire.

    Existe-t-il un module Python permettant de transférer le texte de l'objet html Source vers un fichier WordPad ?
    Soit dit en passant, je ne sais pas quelle est la nature de l'objet htmlSource. Est-ce un fichier texte ? De quel format ?.....

    Existe-il un module Python permettant de manipuler le texte contenu dans un fichier texte, que ce soit htmlSource (si c'est un fichier texte) ou mon fichier WordPad ?
    Je veux pouvoir sélectionner des passages, les effacer, ou les déplacer dans le texte en repérant certaines positions par les caractères qui s'y trouvent. Du traitement texte quoi: copier/coller, déplacement, effacement, recherche de caractères.... Mais effectué de façon automatisé par un programme Python.

    J'ai passé des heures en recherche. J'ai trouvé des références à cStringIO, à xml.sax.saxutils, à xml.dom.minidom ...... Mais je n'arrive pas à comprendre ce que font ces trucs. Je voudrais eviter de passer des heures a essayer de comprendre ce que fait tel ou tel module et m'apercevoir que cela ne me servira a rien. Je n'ai trouve nulle part de descriptif clair des modules Python.

    Merci pour tout tuyau, indication, aide ....

  2. #2
    Membre averti
    Homme Profil pro
    Responsable du parc et des réseaux de télécommunication
    Inscrit en
    Mai 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable du parc et des réseaux de télécommunication
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2003
    Messages : 290
    Points : 388
    Points
    388
    Par défaut
    Bonjour,
    Vas-voir du coté de sgmllib (permet de décomposer le html avec SGMLParser) et des expressions régulières (module re, pour le traitement du texte).
    htmlSource n'est pas un fichier texte, c'est une chaine.
    Un "fichier wordpad "? Je crois que wordpad utilise par défaut le RTF. Je te conseille du texte simple (.txt), ou reconstruis une page html.

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Points : 923
    Points
    923
    Par défaut
    Ce que tu obtiens est le code HTML de la page, et comme a dit pierjean, il sera plus simple d'enregistrer dans un fichier texte "brut"
    Pour y faire des recherches, tu peux utiliser les regex

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 52
    Points : 41
    Points
    41
    Par défaut
    Essaie la fonction striptags du module scrape, je pense que c'est ce qu'il te conviendrais le mieux.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    striptags(html)
        Strip HTML tags from the given string, yielding line breaks for DIV,
        BR, or TR tags and blank lines for P, TABLE, or FORM tags.
    http://zesty.ca/python/

Discussions similaires

  1. Capture + Traitement d'images avec Python ?
    Par afranck64 dans le forum Programmation multimédia/Jeux
    Réponses: 7
    Dernier message: 17/11/2011, 17h34
  2. Traitement d'image avec Python sans modules
    Par kevgen dans le forum Général Python
    Réponses: 4
    Dernier message: 23/11/2010, 00h02
  3. Comment modifier le contenu d'un noeud de type texte avec python?
    Par Tinkite82 dans le forum Général Python
    Réponses: 14
    Dernier message: 01/06/2010, 11h58
  4. Pourquoi latex pour le traitement de texte avec sa gestion de l'emplacement des images?
    Par Thibaou dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 6
    Dernier message: 28/08/2009, 12h33
  5. Réponses: 2
    Dernier message: 30/12/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