Skip to main content

Un programa para extraer todos los datos públicos del registro electoral de Puerto Rico, accesibles a través de https://consulta.ceepur.org/

Project description

ceepur-scraper

Un programa para extraer todos los datos públicos del registro electoral de Puerto Rico, accesibles a través de https://consulta.ceepur.org/.

El programa toma alrededor de 5 horas para bajar todos los datos posibles.

pip install ceepur-scraper

Uso

Para correr el scraper, simplemente ejecute lo siguiente en tu terminal luego de instalar el paquete:

ceepur-scraper

Utiliza la opción --help para ver todas las opciones disponibles:

$ ceepur-scraper --help
usage: ceepur-scraper [-h] [--output OUTPUT_FILENAME] [--max-id MAX_ID] [--min-id MIN_ID]
                      [--reverse] [--max-concurrent-tasks MAX_CONCURRENT_TASKS]
                      [--continue-previous-scrape] [--save-descriptions] [--debug]

optional arguments:
  -h, --help            show this help message and exit
  --output OUTPUT_FILENAME, -o OUTPUT_FILENAME
                        The filename to write the scraped voter records to. Defaults to
                        voter_records.csv.
  --max-id MAX_ID       The maximum voter ID to scrape. Cannot be greater than 9,999,999.
  --min-id MIN_ID       The minimum voter ID to scrape. Cannot be less than 1.
  --reverse             Whether to scrape in reverse order.
  --max-concurrent-tasks MAX_CONCURRENT_TASKS
                        The maximum number of concurrent tasks to run. Defaults to 500.
  --continue-previous-scrape, -c
                        Whether to continue a previous scrape that was interrupted.
  --save-descriptions   Whether to save the descriptions of the voter's status and category. ⚠️
                        WARNING: This will significantly increase the size of the output file.
  --debug, -d           Run in debug mode.

Esto producirá un archivo llamado voter_records.csv en el directorio actual que se parecerá a esta tabla:

NumeroElectoral Category FechaNacimiento Precinto Status Unidad
4980113 1 22-10-1926 1 E 2

Descripción de Category y Status

El campo Category es un solo caracter.

Su significado depende del valor de Status.

Consulte la próxima sección para ver el significado de cada categoría.

Alternativamente puedes correr el scraper con la opción --save-descriptions para guardar una descripción de cada categoría en el archivo final (⚠️ ¡Esto aumentará el tamaño del archivo significativamente!).

Haz click para expandir...

El Status de un elector puede ser:

  • A: Activo
  • I: Inactivo
  • E: Excluido

El campo Category da más información acerca del Status de un elector:

  • Para electores con status A, el campo Category puede ser:
    • 1: VOTÓ EN NOVIEMBRE DE 2020
    • 2: NO VOTÓ EN NOVIEMBRE DE 2020
    • 3: INGRESÓ POR MEDIO DE NUEVA INSCRIPCIÓN
    • 4: INGRESO POR MEDIO DE INSCRIPCIÓN ESPECIAL (Reactivación)
    • 5: INGRESO POR MEDIO DE INCLUSIÓN (Administrativa)
  • Para electores con status I, el campo Category puede ser:
    • 1: INACTIVO EN LA DEPURACIÓN DE LISTAS POSTERIOR A LAS ELECCIONES GENERALES DE 1980
    • 2: INACTIVO EN LA DEPURACIÓN DE LISTAS POSTERIOR A LAS ELECCIONES GENERALES DE 1984
    • 3: INACTIVO EN LA DEPURACIÓN DE LISTAS POSTERIOR A LAS ELECCIONES GENERALES DE 1988
    • 4: INACTIVO EN LA DEPURACIÓN DE LISTAS POSTERIOR A LAS ELECCIONES GENERALES DE 1992
    • 5: INACTIVO EN LA DEPURACIÓN DE LISTAS POSTERIOR A LAS ELECCIONES GENERALES DE 1996
    • 6: INACTIVO EN LA DEPURACIÓN DE LISTAS POSTERIOR A LAS ELECCIONES GENERALES 2000
    • 7: INACTIVO EN LA DEPURACIÓN DE LISTAS POSTERIOR A LAS ELECCIONES GENERALES 2004
    • 8: INACTIVO EN LA DEPURACIÓN DE LISTAS POSTERIOR A LAS ELECCIONES GENERALES 2008
    • 9: INACTIVO EN LA DEPURACIÓN DE LISTAS POSTERIOR A LAS ELECCIONES GENERALES 2012
    • A: INACTIVO EN LA DEPURACIÓN DE LISTAS POSTERIOR A LAS ELECCIONES GENERALES 2020
  • Para electores con status E, el campo Category puede ser:
    • A: EXCLUSIÓN ADMINISTRATIVA
    • C: NO ES CIUDADANO AMERICANO
    • D: DUPLICADO
    • E: NO TIENE 18 AÑOS DE EDAD
    • M: MUERTE
    • P: NO ES PERSONA EN PETICIÓN
    • R: NO ES RESIDENTE DEL PRECINTO
    • T: INCAPACITADO MENTAL

¿Qué hacer si hay un error?

Puedes intentar de recorrer un "scrape" con la opción --continue-previous-scrape (o -c) para intentar continuar el scrape desde donde se quedó.

Si todavía hay fallos, usa la opción --debug (o -d) para ver el error completo. Si no sabes como resolverlo, abre un issue en este repositorio.

Ejemplo

# Descargar electores 1-100 y guardar en "resultados.csv", incluyendo descripciones de categorías
ceepur-scraper --output resultados.csv --min-id 1 --max-id 100 --save-descriptions

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ceepur_scraper-0.1.0.tar.gz (6.5 kB view hashes)

Uploaded Source

Built Distribution

ceepur_scraper-0.1.0-py3-none-any.whl (7.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page