Extraer correos electrónicos de páginas web con python

En esta oportunidad quería compartir con ustedes un script que extrae correos electrónicos de páginas web (Utilizando técnicas de Web Scraping).

Edito: versión web Extractor Emails

Extraer correos electrónicos de páginas web con Python (Scraping)

El primer objetivo del Script fue buscar correos en páginas específicas (pues me daba un poco de pereza recolectar correos de una página en particular)

Luego pensé, "Si hiciera una aplicación para restaurantes y quisiera conseguir la mayor cantidad de correos posibles de los restaurantes de mi localidad que fueran potenciales clientes a mi aplicación, ¿Como podría hacer?" Email Marketing.

Paso a detallar las funcionalidad y de paso les comparto el link a GitHub para no copiar todo el código en el Post.

Cabe aclarar que todos los correos se guardan en una Base de Datos Sqlite.

Funcionalidades del Script que llamé Email Extractor

  1. Extraer los correos de una única URL: Sencillo, ingresas la URL y busca sólo en la página ingresada (un nivel)
  2. Extraer los correos de una URL (dos niveles): Además de hacer lo que hace la primera funcionalidad, ingresa en cada URL que encuentra en la URL ingresada y también busca correos ahí. 
  3. Hacer una búsqueda en Google, guardar las URLs encontradas y buscar los correos en dichas URLs: Esta es la funcionalidad que utilizo para el Email Marketing. Como comente anteriormente, imaginemos que queremos los correos de "todos" los restaurantes de Buenos Aires - Argentina, la funcionalidad nos pedirá una frase: "restaurantes en Buenos Aires", luego nos pedirá una cantidad de búsqueda: 100, entonces el script ingresará en cada URL encontrada en Google y buscará todos los correos electrónicos que en ellas encuentre. Aclarar que cuanto más búsquedas hagamos, más demorará la aplicación.
  4. Listar Correos: hay 3 formas de listar los correos
    1. Ingresando una frase: busca todos los correos que existen en la base de datos para una frase específica, Ejemplo: "restaurantes en Buenos Aires"
    2. Ingresando una Url específica: lo mismo que el anterior pero para una Url
    3. Todos los correos de la BD
  5. Guardar los correos en un .txt: esta funcionalidad guarda los correos en un archivo .txt y como la funcionalidad anterior, también tiene las mismas 3 formas de guardarlos: por frase, Url o todos.
  6. Borrar correos de la Base de Datos: como su nombre indica, esta funcionalidad borra correos de la BD y para ello también utiliza las 3 modalidades de las funcionalidades anteriores: por frase, Url o Todos.

Espero que como a mí, les sea de utilidad.
Link del código: Email Extractor

Cualquier duda o sugerencia siempre es bienvenida y motiva a seguir escribiendo y sobre todo COMPARTIENDO.

Saludos, Diego Caraballo

  1. Alfredo Noboa C dice:

    Estoy comenzando a aprender Python y esto me parece muy interesante, en verdad me gusta el abanico de posibilidades que da el lenguaje.
    Felicitaciones por el script y por compartir lo que sabes con la comunidad.
    Saludos desde Guayaquil, Ecuador.

    1. PythonDiario dice:

      Muchas gracias Alfredo, un saludo grande desde Uruguay.

  2. j dice:

    Excelente aporte mano..! Saludos!

    1. PythonDiario dice:

      Gracias Carlos por pasarte por el blog. Saludos

  3. Unknown dice:

    Buen aporte, yo utilice el framework scrapy para sacar informacion de las funciones de una pagina de cine

    1. PythonDiario dice:

      Muchas gracias Daniel, Saludos

    2. Anónimo dice:

      excelente blog hermano continúen así, bendiciones

  4. castoresgeeksseguros dice:

    Diego:
    Una Consulta. Soy nuevo en python, intenté correr el script, y me arrojó lo siguiente:

    Traceback (most recent call last):
    File "EmailExtractor.py", line 6, in
    from googlesearch import search
    ImportError: No module named googlesearch

    ¿Me puedes orientar?

  5. amaral dice:

    miesma duvida

    Diego:
    Una Consulta. Soy nuevo en python, intenté correr el script, y me arrojó lo siguiente:

    Traceback (most recent call last):
    File "EmailExtractor.py", line 6, in
    from googlesearch import search
    ImportError: No module named googlesearch

    ¿Me puedes orientar?

    1. Unknown dice:

      estou com o mesmo problema

  6. Unknown dice:

    hola amigo, se puede utilizar el extractor online

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir
White Monkey