2009-12-07 5 views
1

Мои пользователи будут посылать мне сообщения по электронной почте ала PosterousИзвлечение текста из электронной почты в Python

Я использую Google Apps Engine (GAE) получать и анализировать сообщения электронной почты. GAE возвращает текстовую часть сообщения.

Мне нужно извлечь сообщение из текстовой части сообщения.

Простой текст может быть «загрязнен» с рекламными заголовками, колонтитулы, подписи и т.д.

Кроме того, я хотел бы оставить из «пожалуйста, напишите это:» или подобные некоторые люди искренно включают.

Как бы вы это достигли?

Есть ли какие-либо инструменты (проще, чем регулярное выражение) Я могу использовать?

UPDATE

Примеры:

(во всех этих примерах пост является "Lorem Ipsum сидеть Амет ..."

=====

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tem incididunt ut labore et dolore magna aliqua. Ун-энд-энд-энд-энд-венам, quis nostrud, занятие ullamco la boris nisi ut aliquip ex ea commodo, следовательно. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Victor P
[email protected]
посетить мой блог по адресу: www.example.com/victor

=====

Здравствуйте, мне нравится ваша страница. Можете ли вы включить это: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tem incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud, осуществляющий работу, выполняемый в соответствии с потребностями. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

=====

Lorem Ipsum боль сидеть Амет, consectetur adipisicing Элит, СЭД сделать eiusmod TEMPOR incididunt ет Лабор и др Dolore магна aliqua.

Ut enim ad minim veniam, quis nostrud exercise ullamco laboris nisi ut aliquip ex ea commodo, следовательно.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

=====

Если вы найдете больше примеров того, что такое электронная почта может быть, пожалуйста, не стесняйтесь, чтобы включить их в должности.

+0

очень хороший проект – Roch

+1

Это далеко не тривиальным, но в зависимости от специфики, несколько трюков можно было бы применить и решать справедливую долю целевых ситуаций. Можете ли вы предоставить более подробную информацию или, может быть, примеры, которые показывают конкретный формат, который у вас есть (например, «обычный текст = отсутствие наценки вообще?»). – mjv

+0

опубликуйте пару образцов о том, что должно и не должно пройти regex. – Amarghosh

ответ

2

Я бы пошел со списком скомпилированных регулярных выражений.Что-то вдоль линий:

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, "")) 
Смежные вопросы