Mining e-mail er en metode til at fremtvinge oplysninger, såsom antallet af ord , sætninger eller den rigdom af din samtalepartners ordforråd, fra teksten i e-mail. Skrive en mail minearbejder med Python kræver mange " bevægelige dele " i form af Python extensions, kaldet pakker , der downloades mails off af servere. Meddelelser konverteres til strenge , så andre Pythonpakker kan parse dem og vise , hvad de finder . Dette er en meget kompleks opgave, der kræver mere end en forbigående afslappet viden om Python programmering. Derfor fortsætte med forsigtighed og tålmodighed. Ting du skal
internetforbindelse
Python 2.6 eller højere
NLTK Python Package
Vis Flere Instruktioner
1
Åbn en terminal session og type python - v ved prompten for at kontrollere , at du har Python 2.6 eller højere, men ikke 3,0 eller højere. Versioner 2.6 eller 2.7 er ideelle, fordi de er forenelige med NLTK og PyYAML . Besøg Python pakker indeks side , finde og downloade PyYAML og NLTK pakker. Unzip /untar dem. Skift mappe til PyYAML bibliotek. På kommandolinjen skrive: sudo python setup.py installation. Det skal se sådan ud : Hej
My- Computer: PyYAML - 3.2.0 Me $ sudo python setup.py installere
Du vil blive bedt om en adgangskode. Skriv det og trykke på knappen RETURN . Følg denne procedure for hver Python pakke du installerer
2
Hent mails for parsing med følgende linjer kode : . !
# /Usr /local /bin /python < br >
import poplib , getpass , sys , mailconfig
mailserver = mailconfig.popservername
MailUser = mailconfig.popusername
mailpasswd = getpass.getpass ( ' Password for% s ? '% mailserver )
server = msgBytes = server.stat ()
print ( "Der er" , msgCount ' mails i ' , msgBytes , ' bytes ' )
print ( server.list ( )) < br >
print ( '-' * 80)
input (' [ Press Enter ] ")
for jeg i området ( msgCount ) : Hej
hdr , besked , oktetter = server.retr ( i +1 )
for linie i besked: print ( line.decode () )
read ( '-' * 80)
< p > hvis jeg < msgCount - 1 : Hej
Dette script vil forbinde til din pop3 email -server, bede dig om dit brugernavn og din adgangskode , tælle antallet af beskeder på serveren og læse dem ind i hukommelsen < br . >
3
mine dine e-mails ved at konvertere hver meddelelse til en streng , en indfødt datatype i Python, der kan søges med Pythons strengmetoder , regulære udtryk motor, og Natural Language Toolkit : < br >
m = msgCount [1]
s = str ( m)
fra email.parser import Parser
import nltk
import re
4
mine første budskab til alle oplysninger af interesse. Opdage, hvor mange ord der er i dette budskab ved at indtaste følgende kommando : Hej
>>>> len (r) fra p Det vil returnere et heltal værdi for antallet af ord. For at finde hver eneste sætning med ordet pant , skal du indtaste følgende NLTK kommando : Hej
>>>> s.concordance ( realkredit )
Dette vil returnere hver sætning med ordet pant i det; meget nyttigt for detektiver undersøge pant svig
.