March 22
e-mail Mining è un mezzo di estrazione di informazioni, come il numero di parole, frasi, o la ricchezza del vocabolario del corrispondente, dal testo in email. Scrivere un minatore e-mail con Python richiede molte "parti in movimento" in forma di estensioni Python, chiamati pacchetti, che i messaggi di posta elettronica scaricare al largo di server. I messaggi vengono convertiti in stringhe in modo che altri pacchetti Python li può analizzare e visualizzare quello che trovano. Questo è un compito molto complesso che richiede più di una conoscenza casuale di passaggio di programmazione Python. Quindi, procedere con cautela e pazienza.
1 Aprire una sessione di terminale e digitare python -v alla richiesta di verificare di avere Python 2.6 o superiore, ma non 3.0 o superiore. Versioni 2.6 o 2.7 sono l'ideale perché sono compatibili con NLTK e PyYAML. Visita la pagina Python indice di pacchetti; trovare e scaricare i pacchetti PyYAML e NLTK. Unzip / li untar. Modificare la directory alla directory PyYAML. In linea di prompt dei comandi digitare in: sudo python setup.py install. Dovrebbe sembrare come questo:
My-computer: PyYAML-3.2.0 Me $ sudo python setup.py install
Verrà richiesta una password. Tipo e premere il tasto di ritorno. Seguire questa procedura per ogni pacchetto di Python si installa.
2 Scarica messaggi di posta elettronica per l'analisi con le seguenti righe di codice:
! / Usr / local / bin / python
importazione poplib, getpass, SYS, mailconfig
mailserver = mailconfig.popservername
MailUser = mailconfig.popusername
mailpasswd = getpass.getpass ( 'La password per% s?'% mailserver)
server = poplib.POP3 (server di posta)
server.user (MailUser)
server.pass_ (mailpasswd)
stampa (server.getwelcome ())
msgCount, msgBytes = server.stat ()
stampa ( 'Non ci sono', msgCount, 'messaggi di posta elettronica in', msgBytes, 'byte')
stampa (server.list ())
print ( '-' * 80)
Ingresso ( '[Premere il tasto Enter]')
per i in range (msgCount):
hdr, messaggio, ottetti = server.retr (i + 1)
per la linea in un messaggio: stampa (line.decode ())
lettura ( '-' * 80)
se i <msgCount - 1:
Questo script si connette al server di posta elettronica POP3, si chiederà il nome utente e la password, contare il numero di messaggi sul server e letti nella memoria.
3 Miniera di messaggi di posta elettronica di conversione di ogni messaggio in una stringa, un tipo di dati nativo in Python, che può essere cercato con i metodi di Python stringa, motore delle espressioni regolari, e Natural Language Toolkit:
m = msgCount [1]
s = str (m)
da email.Parser importazione Parser
importazione NLTK
importazione re
4 MINE il primo messaggio per qualsiasi informazioni di interesse. Scopri quante parole sono in quel messaggio digitando il seguente comando:
len (s)
Esso restituirà un valore intero per il numero di parole. Per trovare ogni frase con il mutuo parola, digitare il seguente comando NLTK:
s.concordance ( 'mutuo')
Ciò restituirà ogni frase con la parola mutuo in esso; molto utile per gli investigatori che indagano truffa sui mutui.