Skip to main content

PyPI PyPI - Python Version PyPI - Downloads GitHub GitHub last commit

PARESS2 :: Descargador automatizado de archivos del Portal de Archivos Españoles PARES2.0

Esta librería permite realizar descargas automatizadas de archivos del Portal de Archivos Españoles PARES2.0. Debido a que el portal no cuenta con una API, se ha desarrollado esta librería para realizar un Web Scrapping de la página web del portal.


🆕 Una interfaz gráfica βeta para este módulo está disponible en GUI-archivos-hispanoamericanos. Por lo pronto solamente está disponible para Windows 10 y 11.

Descargar app para Windows: Download


Esta librería se encuentra en activo desarrollo, por lo que es posible que algún error ya haya sido resuelto en la versión más reciente. Antes de ejecutar el script, se recomienda actualizar la librería a la última versión disponible.

Requisitos

Este programa ha sido probado y configurado para funcionar con Google Chrome a través de la librería webdriver-manager. Para su correcto funcionamiento es necesario tener instalado Google Chrome en el equipo. En caso de no tenerlo instalado, se puede descargar desde aquí.

Se planea en una actualización posterior incluir soporte para Firefox y Chromium con el propósito de facilitar su uso en distribuciones Linux.

Instalación

Este módulo está disponible en PyPI. Para instalarlo, se debe ejecutar el siguiente comando:

pip install paress2

Uso

En esta versión, solamente está disponible la opción de guardar imágenes de un legajo. En próximas versiones se incluirán más opciones.

Este módulo está diseñado para ser usado en un script de Python, por lo que no se incluye una interfaz gráfica. Para su uso, se debe importar el módulo y crear una instancia de la clase Paress:

from paress2 import Paress

El objeto Paress se inicializa con mínimo un parámetro, que es el enlace al legajo que se quiera descargar. Por ejemplo:

Paress("http://pares.mcu.es/ParesBusquedas20/catalogo/show/7255960?nm")

También existen tres parámetros opcionales:

  • destino: Ruta de destino donde se guardarán los archivos. Por defecto, se guardan en un subdirectorio construido a partir del numero de catálogo del legajo (ej: 7255960). Si la ruta no es absoluta (ej: "C:\Users\usuario\descargas\images"), se guardará en el directorio donde se ejecute el script. Si la ruta no existe, se creará.
  • headless: Si es True, se ejecutará el navegador en modo headless. Por defecto, es False. En este modo no es posible descargar imágenes, así que se debe entender como un modo de pruebas.
  • velocidad: Tiempo en segundos (acepta valores decimales, p. ej: 0.5) que se espera entre cada proceso. El valor predeterminado es 10, lo cual es aceptable para una cantidad de imágenes moderada (menor a 50 imágenes). Puede modificar este valor si se desea que el proceso sea más rápido o más lento. No obstante, tenga en cuenta que si el valor es muy bajo, se pueden presentar errores de conexión e incluso repetición en la descarga de imágenes.

Una vez creado el objeto, se debe llamar al método descargar_imagenes() para iniciar la descarga de las imágenes. Este método no recibe parámetros.

Paress("http://pares.mcu.es/ParesBusquedas20/catalogo/show/7255960?nm", destino="C:\Users\usuario\descargas\images", velocidad=1).descargar_imagenes()

A menos que esté en modo headless, se abrirá una ventana de Google Chrome y se iniciará la descarga de las imágenes. El proceso puede tardar varios minutos, dependiendo de la velocidad de conexión a Internet y de la cantidad de imágenes que tenga el legajo.

Bugs

Si encuentra algún error, por favor, cree un issue en el repositorio de GitHub. Para facilitar la identificación del error incluya el mensaje de error completo que se muestra en la consola, así como el sistema operativo, el navegador instalado (Chrome o Firefox) y la versión de Python que está usando. También puede compartir el número de catálogo del legajo que está intentando descargar.

Licencia

GNU General Public License v3.0

Contribuciones

Las contribuciones son bienvenidas. Para solicitar cambios o reportar errores, por favor, cree un issue en el repositorio de GitHub. Para reportar errores por favor compartir el número de catálogo del legajo y el mensaje de error que se muestra en la consola.

Si desea contribuir con el código, por favor, cree un pull request y se revisará o aceptará lo antes posible.

TODO

  • Añadir un registro del legajo descargado para identificar el documento.
  • Incluir soporte para Firefox
  • Incluir opción para descargar el archivo como PDF
  • Construir una interfaz gráfica para facilitar su uso (parcial)
  • Añadir la opción de descargar metadatos y conjuntos de búsquedas (por ejemplo, para descargar una lista de mapas)

Control de cambios

El registro de cambios se encuentra en el archivo CHANGELOG.md

Patrocinio

Este proyecto ha sido elaborado de manera independiente por el autor. Si desea apoyar el desarrollo de este y otros proyectos, puede considerar patrocinarme a través de GitHub Sponsors

Metadata

Release files for paress2 0.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for paress2 0.1.7
File Size Uploaded
paress2-0.1.7.tar.gz 23.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for paress2 0.1.7
File Interpreter ABI Platform
paress2-0.1.7-py3-none-any.whl Python 3 none any Details

Total release size: 44.6 kB

Release files / paress2-0.1.7.tar.gz

Download URL paress2-0.1.7.tar.gz
Size 23.0 kB
Tags Source
SHA-256 checksum
How to use checksums
64bd7112fa79f0df18659cc162b030efc01491e5a8dd498cd5cda5a439f196d8
BLAKE2b-256 checksum
How to use checksums
91f8cd40d9ee4cf188b3b02b0aecc87a2054f87e1c1369eace0540f848ba3b01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.4

Release files / paress2-0.1.7-py3-none-any.whl

Download URL paress2-0.1.7-py3-none-any.whl
Size 21.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1852ea76ec422a999148c0069a9dd0981e57ea0f43d79efc66f08a916adacde6
BLAKE2b-256 checksum
How to use checksums
7296ffe9cfa8b4f5a2218312fe2213de1e1d95e8fed1a53ea193c324bcab44bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.4

Release history Release notifications | RSS feed

This release

0.1.7 This release

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page