Tecnología

Inicio

Cómo escribir un correo electrónico Miner para Python

Cómo escribir un correo electrónico Miner para Python


correo electrónico minería es un medio para obtener información, como por ejemplo el número de palabras, frases, o la riqueza del vocabulario de su interlocutor, a partir del texto de correo electrónico. Escribiendo un minero de correo electrónico con Python requiere muchas "partes móviles" en la forma de extensiones de Python, llamados paquetes, que los mensajes de correo de descarga fuera de los servidores. Los mensajes se convierten en cadenas 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 que pasa de programación Python. Por lo tanto, proceder con cautela y paciencia.

Instrucciones

1 Abra una sesión de terminal y -v tipo pitón en el indicador para comprobar que tiene Python 2.6 o superior, pero no 3.0 o superior. Versiones 2.6 o 2.7 son ideales, ya que son compatibles con NLTK y PyYAML. Visita la página de índice de paquetes de Python; encontrar y descargar los paquetes PyYAML y NLTK. Descomprimir / ellas untar. Cambie el directorio al directorio PyYAML. En la línea de comandos del sistema, escriba en: sudo python setup.py install. Debe tener un aspecto como este:

Mi-ordenador: Me PyYAML-3.2.0 $ sudo python setup.py install

Se le pedirá una contraseña. Escríbalo y presione el botón de retorno. Siga este procedimiento para cada paquete de instalar Python.

2 Descargar mensajes de correo para analizar con las siguientes líneas de código:

! / / / Bin / usr local de Python

poplib importación, 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)

impresión (server.getwelcome ())

msgCount, msgBytes = server.stat ()

print ( 'Hay', msgCount, 'en los mensajes de correo', msgBytes, 'bytes')

impresión (server.list ())

print ( '-' * 80)

de entrada ( '[Pulse la tecla Enter]')

for i in range (msgCount):

HDR, mensaje, octetos = server.retr (i + 1)

para la línea de mensaje: impresión (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, contar el número de mensajes en el servidor y leerlos en la memoria.

3 Mina de sus mensajes de correo electrónico mediante la conversión de cada mensaje en una cadena, un tipo de datos nativos en Python, que se pueden buscar con métodos de Python cadena, motor de expresiones regulares y kit de herramientas de lenguaje natural:

m = msgCount [1]

s = str (m)

Analizador de email.parser importación

NLTK importación

import re

4 Extraer el primer mensaje para cualquier información de interés. Descubre cuántas palabras están en ese mensaje introduciendo el siguiente comando:

lente)

Se devolverá un valor entero para el número de palabras. Para encontrar todas las frases con la palabra hipoteca, introduzca el siguiente comando NLTK:

s.concordance ( 'hipoteca')

Esto devolverá cada frase con la palabra hipoteca en ella; muy útil para los detectives que investigan el fraude hipotecario.