E-mail contiene información más allá de su función comunicativa superficie.
PYTHON
Email minería es un medio para obtener información, como el número de palabras, frases, o la riqueza del vocabulario de su interlocutor, a partir del texto en el correo electrónico. Escribir un minero de correo electrónico con Python requiere muchas "partes móviles" en forma de extensiones de Python, llamados paquetes, que los mensajes de correo electrónico fuera de descarga de servidores. Los mensajes se convierten en cadenas para que otros paquetes de Python pueden analizarlos y mostrar lo que encuentran. Esta es una tarea muy compleja que requiere más que un conocimiento informal de paso de programación Python. Por lo tanto, proceder con cautela y paciencia.
Lo que necesita
Conexión a Internet
Python 2.6 o superior
NLTK Python Package
Abra una sesión de terminal y escriba python -v en el indicador para comprobar que tiene Python 2.6 o superior, pero no 3,0 o superior. Las versiones 2.6 o 2.7 son ideales porque son compatibles con NLTK y PyYAML. Visita la página de índice de paquetes de Python, buscar y descargar los paquetes PyYAML y NLTK. Descomprimir / descomprimir ellos. Cambie el directorio al directorio PyYAML. En la línea de comandos teclee: sudo python setup.py install. Se debe tener este aspecto:
My-Ordenador: PyYAML-3.2.0 Me $ sudo python setup.py install
Se le solicitará una contraseña. Escríbalo y pulse el botón de retorno. Siga este procedimiento para todos los paquetes de Python se instala.
Descarga los mensajes de correo para analizar con las siguientes líneas de código:
! # / Usr / local / bin / python
importación poplib, getpass, sys, mailconfig
servidor de correo = mailconfig.popservername
mailuser = mailconfig.popusername
mailpasswd = getpass.getpass ('contraseña para% s?'% servidor de correo)
server = poplib.POP3 (servidor de correo)
server.user (mailuser)
server.pass_ (mailpasswd)
print (server.getwelcome ())
msgCount, msgBytes = server.stat ()
print ('No', msgCount, 'mensajes de correo en', msgBytes, 'bytes')
print (server.list ())
print ('-' * 80)
input ('[Pulse la tecla Intro]')
for i in range (msgCount):
hdr, mensaje, octetos = server.retr (i +1)
para la línea en el mensaje: print (line.decode ())
read ('-' * 80)
si i msgCount - 1:
Este script se conectará a su servidor de correo electrónico POP3, le pedirá su nombre de usuario y contraseña, cuente el número de mensajes en el servidor y leer en la memoria.
Mina tus mensajes de correo electrónico mediante la conversión de cada mensaje en una cadena, un tipo de datos nativo en Python, que se puede buscar con los métodos de Python cadena, motor de expresiones regulares, y Kit de herramientas de lenguaje natural:
m = msgCount [1]
s = str (m)
Analizador de importación email.parser
importación NLTK
importar re
Mina el primer mensaje para cualquier información de interés. Descubra cuántas palabras están en ese mensaje introduciendo el siguiente comando:
len (s)
Se devolverá un valor entero para el número de palabras. Para encontrar todas las frases con la palabra hipoteca, escriba el comando NLTK siguiente:
s.concordance ("mortgage")
Esto devolverá cada frase con la palabra hipoteca en ella, muy útil para los detectives que investigan el fraude hipotecario.
No hay comentarios:
Publicar un comentario