2009-12-07 5 views
1

Mes utilisateurs me envoyer les messages par e-mail ala Posterousextraction de texte de courrier électronique en Python

J'utilise pour recevoir et analyser des e-mails Google Apps Engine (GAE). GAE renvoie la partie texte du message.

Je dois extraire le message de la partie en texte brut du message.

Le texte brut peut être « contaminé » avec les en-têtes, pieds de page promotionnels, signatures, etc.

Aussi je voudrais laisser le « s'il vous plaît Bloc-notes: » ou certaines personnes sont candidement similaires.

Comment y parviendrez-vous?

Y a-t-il des outils (plus simples que regex) que je peux utiliser?

MISE À JOUR

Exemples:

(dans tous ces exemples, le poste est "Lorem ipsum dolor sit amet ..."

=====

Lorem ipsum dolor s'asseoir amet, consectetur adipisicing elit, sed faire eiusmod temporel incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercice ullamco la boris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate vlit esse cillum dolore eu fugiat nulla pariatur.

Victor P
[email protected]
visiter mon blog à l'adresse: www.example.com/victor

=====

Bonjour, J'aime votre page. S'il vous plaît pouvez-vous inclure ceci: Lorem ipsum dolor assis amet, consectetur adipisicing elit, sed faire eiusmod temporel incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercice ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate vlit esse cillum dolore eu fugiat nulla pariatur.

=====

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed ne eiusmod tempor incididunt ut labore et dolore magna aliqua.

Ut enim ad minim veniam, quis nostrud exercice ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprrehenderit in voluptate vilt esse cillum dolore eu fugiat nulla pariatur.

=====

Si vous trouvez d'autres exemples de ce qu'un e-mail peut être, s'il vous plaît ne hésitez pas à les inclure dans le poste.

+0

très beau projet – Roch

+1

Il est loin d'être anodin, mais en fonction des spécificités, quelques astuces peuvent être appliquées et portent sur une proportion équitable des situations ciblées. Pouvez-vous fournir plus de détails ou peut-être des exemples qui montreraient le format particulier que vous avez sous la main (par exemple, «texte brut = pas de balise du tout?». – mjv

+0

poster quelques échantillons sur ce qui devrait et ne devrait pas passer la regex – Amarghosh

Répondre

2

Je voudrais aller avec une liste d'expressions régulières compilées.Quelque chose le long des lignes de:

import re 

regexes = (
    re.compile("visit my blog at: .*$", re.IGNORECASE), 
    re.compile("please post this:", re.IGNORECASE), 
    re.compile("please can you include this:", re.IGNORECASE) 
    # etc 
) 

for filePath in files: 
    with open(filePath) as file: 
     for line in file: 
      for regex in regexes: 
       print(re.sub(regex, "")) 
Questions connexes