[Python]Html vers texte

Bonjour,

J’ai acheté récement un pda simple et pas cher (Palm Z22). Ce petit palm a une fonction infrarouge, et mon pc portable aussi. Je peux transferer des fichier textes sur mon pda très facilement.

Je me suis dit, tiens pourquoi pas j’aimerai bien lire sur mon pda les pages issu de mes flux rss quotidiens. C’est principalement celui du journal “le monde”.

Jusque là pas de problème, suffit de copier coller sur un fichier texte les articles qui m’interressent et les envoyer sur le pda. Le seul problème c’est que c’est assez long, et plutot fastidieux faire ca tout les matin ca me tente pas trop.

Alors s’arrete ma vie et viens mon problème de python :

J’arrive à extraire les liens des flux rss, puis j’arrive à recuperer le code html des pages qui m’interressent tout ca bien rangé dans un fichier texte mais bon lire du html c’est pas la joie. Alors j’ai voulu transformer mon code html en format texte simplement. J’ai trouvé plusieurs solutions tel que html2text. Le problème de toutes les solutions que j’ai trouvé, c’est que ca foire à la transformation à cause des accents.Je suis un vrai novice en html (enfin je pige comment ca marche en gros mais je me suis jamais intérréssé à ca).

J’ai commencé par essayer de resoudre 1 à 1 les problèmes, en remplacant les accents, puis les pontuations éxotiques, mais j’en vois pas la fin. J’ai ajouté des fonctions tel que celles présentés sur cette page mais je trouve que ca rend assez lourd une simple (je le pensais) transformation. Et finalement je suis un peu perdu dans toutes ces transformations, qui modifient le code source html, et qui le rends surement impropre à la moulinette html2text…

En cherchant plus, et en demandant à quelques personnes, j’ai envisagé d’encoder le code html en utf-8, mais je ne vois pas comment, et je ne n’ai pas trouvé (ou pas compris) un solution à cette possibilité.

Je viens ici pour vous demander si quelqu’un n’aurait déjà eu ces problèmes, et si quelqu’un n’aurait pas un solution plus simple pour obtenir à partir d’un code source html, la présentation en format txt.

Merci d’avance B).

ps : j’ai tenté de voir si il n’y avait pas un balise html particulière qui me permettrait d’extraire le texte voulu, mais mes connaissances en html étant assez réduite, je n’ai pas réussi à en trouver une.

Données d’exemple : article du monde

Je ne connais pas python, mais je pense qu’un des moyens serait de récupérer la version imprimable de l’article, cela fait déjà moins de code.

Ensuite, si tu veux récupérer le texte, le mieux serait de regarder le code HTML et de ne récuperer que ce qui est intéressant.

En étant aller voir rapidement
pour “le monde” les balises principales que j’ai vu sont les suivantes

[code]

Compte rendu
Les scientifiques entérinent la responsabilité de l'homme dans le réchauffement climatique
LE MONDE | 02.02.07 | 11h08 • Mis à jour le 02.02.07 | 11h08
e débat scientifique sur [....]
[/code]

Et donc récupérer le texte à l’intérieur des balises.
Mais par contre il restera encore du code html à l’intérieur de ces zones (comme la pub, ou des images) et sûrement du formatage de texte à faire.

Ouaip c’est assez galère quand on est novice comme moi en html… je voulais extraitre directement le texte que je voulais, mais ces histoires de balises, de récuperer ce qu’il me faut, pour peu qu’il y en ai un 40 aine à prévoir le reformatge, pas glop. Mais ta solution a le mérite de m’eviter d’avoir à traiter les balises hors zone du texte qui m’interressent. Merci B).

Ah, tu parles de version imprimable, j’avais envisagé de recuperer ca pour avoir moins de pub et d’autres truc, mais j’ai pas trouvé la balise caractéristique qui me permetterai de l’extraire. Je vois bien ou est le lien, mais je sais pas trop comment l’extraire… (enfin je sais maintenant extraire du html, mais je ne sais pas comment extraite spécifiquement ce lien sur chacune des pages).

Je suis arrivé à avancer un peu, j’ai tout balancé dans un fichier texte, que je converti avec un logiciel moins sensible à ces problèmes d’accents HtmlAsText c’est dejà beaucoup plus automatique que le copier coller à la main, mais ca implique que je fasse deux opérations au lieu d’une.

Après pour le problème, je reste ouvert à toutes suggestions pour convertir du html en texte d’une manière simple et facile sans avoir à faire la liste de tout ce qui cloche et avoir un code long comme un ségoya pour prévoir les balises, les accents etc etc… B).

/me note pour plus tard, prendre des cours de html.

Bon je me suis trouvé une autre solution, un site internet propose de faire ca gratuitement, je verrai à l’usure si il y a beaucoup de pub, pour ceux qui ont des pda et qui s’embettent dans les transports : avantgo

Mais ca résoud pas mon problème en python, Bussière sort de ta grotte, pour une fosi qu’il y a un topic sur le python B).

ps : mon invitation à faire paris by nigth for photographers tiens toujours B).

Il te faut un équivalent de strip tags pour supprimer toutes les balises. Par exemple ça. Tu peux poster un exemple de ce que tu obtiens, c’est pas clair ton problème …

Si tu veux extraire les articules des flux RSS, une feuille de style XSLT ça suffirai pas? Car là sortir un script c’est ptet too much.