Mining e är ett sätt att utvinna information , t.ex. antalet ord , meningar , eller rikedomen av din korrespondent ordförråd , från texten i e-post . Skriva ett e- miner med Python kräver många " rörliga delar " i form av Python förlängningar , kallade paket , att hämta e-postmeddelanden bort av servrar . Meddelanden konverteras till strängar så att andra Python-paket kan tolka dem och visa vad de tycker . Detta är en mycket komplex uppgift som kräver mer än en övergående tillfällig kunskaper i Python -programmering . Därför , fortsätt med försiktighet och tålamod . Saker du behöver
Internetuppkoppling
Python 2.6 eller högre
nltk Python Package
Visa fler instruktioner
1
Öppna en terminal session och typ python - v vid prompten för att kontrollera att du har Python 2.6 eller högre , men inte 3,0 eller högre . Versioner 2.6 eller 2.7 är idealiska eftersom de är förenliga med nltk och PyYAML . Besök Python-paket index sida , hitta och ladda ner PyYAML och nltk paket . Packa /untar dem . Ändra katalog till PyYAML katalogen . På kommandoraden skriver du: sudo python setup.py install . Det bör se ut så här :
My - dator : PyYAML - 3.2.0 Me $ sudo python setup.py installera
Du kommer att bli tillfrågad om ett lösenord . Skriv det och trycker på retur -knappen . Följ denna procedur för varje Python paket du installerar
2
Hämta postmeddelanden för att analysera med följande kodrader : . !
# /Usr /local /bin /python
import poplib , getpass , sys , mailconfig
mailserver = mailconfig.popservername
mailuser = mailconfig.popusername
mailpasswd = getpass.getpass ( ' Lösenord för % s ? ' % mailserver ) katalog
server = msgBytes = server.stat ( ) katalog
print ( " Det finns " , msgCount , ' postmeddelanden i " , msgBytes , ' byte ' ) katalog
print ( server.list ( ) )
print ( ' - ' * 80 ) katalog
input ( " [ Tryck Enter ] ' ) katalog
for i in intervallet ( msgCount ) :
hdr , meddelande , oktetter = server.retr ( i +1 ) katalog
för rad i meddelandet : print ( line.decode ( ) ) katalog
read ( ' - ' * 80 ) katalog
om jag < msgCount - 1 :
Detta skript kommer att ansluta till din pop3 e-postserver , be dig om ditt användarnamn och lösenord , räkna antalet meddelanden på servern och läsa in dem i minnet
3
Mine dina e-postmeddelanden genom att konvertera varje meddelande till en sträng , en intern datatyp i Python , som kan sökas med Pythons sträng metoder , reguljära uttryck motor och Natural Language Toolkit :
m = msgCount [ 1 ]
s = str ( m ) katalog
från email.parser import Parser
import nltk
import re
4
Mine första budskap till någon information av intresse . Upptäck hur många ord i meddelandet genom att ange följande kommando :
>>>> len (s ) katalog p Det kommer returnera ett heltal för antalet ord . För att hitta varje mening med ordet inteckning , ange följande nltk kommando :
>>>> s.concordance ( ' inteckning ' ) katalog
Detta återkommer varje mening med ordet inteckning i det , mycket användbart för detektiver som undersöker inteckning bedrägeri Addera
.