Skip to main content

Cliente Python para obtener datos del BCV con trazabilidad y cumplimiento legal

Project description

📈 Scraper BCV – Tasas de Cambio

Este proyecto implementa un scraper defensivo para obtener las tasas de cambio publicadas por el Banco Central de Venezuela (BCV), con validación de datos, logging estructurado y tolerancia a cambios en el HTML.

Incluye pruebas automatizadas con pytest que simulan escenarios reales y cambios en la estructura del sitio, asegurando que el scraper siga funcionando y registre advertencias cuando falten datos.


📂 Estructura del proyecto

scraper-bcv/
.
├── LICENSE
├── pyproject.toml
├── README.md
├── requirements.txt
├── requirements-dev.txt
├── setup.cfg
├── src/
│   └── scraper_bcv/       # Paquete principal
│       ├── __init__.py
│       ├── __main__.py    # Punto de entrada: python -m scraper_bcv
│       ├── bcv_client.py  # Lógica principal del scraper       
├── tests/                 # Pruebas unitarias y fixtures
│   ├── fixtures/
│   └── test_bcv_client.py

🚀 Instalación

Desde GitHub

pip install git+https://github.com/fquivera/scraper-bcv.git

Desde PyPI (cuando esté publicado)

pip install scraper-bcv

🛠 Uso como script

Una vez instalado, puedes ejecutarlo directamente:

python -m scraper_bcv

Opciones disponibles:

python -m scraper_bcv -m USD --log-level DEBUG --log-file logs/mi_log.log

📚 Uso como librería

from scraper_bcv import BCVClient

client = BCVClient(log_file='logs/mi_app.log')
print(client.get_tasas())          # Todas las monedas
print(client.get_tasas('USD'))     # Solo USD

🧪 Pruebas

pytest -v

Incluye pruebas con HTML real y HTML modificado para validar resiliencia y logging.


📜 Logging

  • Formato: YYYY-MM-DD HH:MM:SS NIVEL Mensaje
  • Ejemplo:
    2025-09-04 18:00:00 INFO USD: 36,5000 Bs.S - Fecha: 04/09/2025
    

🔒 Diseño defensivo

  • Sigue funcionando aunque falte una moneda.
  • Registra advertencias en lugar de fallar silenciosamente.
  • Valida y normaliza datos antes de procesarlos.
  • Modular y testeable.

⚖️ Aviso Legal

Este software se proporciona únicamente con fines educativos y técnicos.
No constituye ni reemplaza la publicación oficial de tasas del Banco Central de Venezuela (BCV) ni de ninguna otra autoridad.
Los datos obtenidos son procesados automáticamente desde fuentes públicas y pueden no reflejar información actualizada, exacta o completa.

El autor no asume responsabilidad por el uso que terceros hagan de este software o de los datos que genere.
Es responsabilidad exclusiva del usuario verificar la exactitud y vigencia de la información antes de tomar decisiones basadas en ella, así como cumplir con la normativa legal vigente en su país.

Para información oficial sobre tasas de cambio, consulte siempre el portal del BCV:
https://www.bcv.org.ve/


📄 Licencia

Distribuido bajo la licencia MIT con aviso legal adicional.
Consulta el archivo LICENSE para más detalles.


🤝 Contribuciones

Las contribuciones son bienvenidas mediante issues o pull requests.


📬 Contacto

Desarrollado por Francisco Antonio Quivera González.
Abre un issue en el repositorio para dudas o sugerencias.


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

scraper_bcv-0.1.1.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scraper_bcv-0.1.1-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file scraper_bcv-0.1.1.tar.gz.

File metadata

  • Download URL: scraper_bcv-0.1.1.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for scraper_bcv-0.1.1.tar.gz
Algorithm Hash digest
SHA256 b2acb3b49aca31006147a65bbb795ee81f7f0338aabef28350ca643411d26c82
MD5 90fc78bc0acd47863fb61c949b5c8b34
BLAKE2b-256 b5b259084f27230e8fe59a9e1be467e90f11bf30fb3675a397b5bf1e25f3eab8

See more details on using hashes here.

File details

Details for the file scraper_bcv-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: scraper_bcv-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for scraper_bcv-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d9f5acbb13d32fa44a6d44dca601b2ee16f05de786a0ef685ad258d6a5f40be0
MD5 2e5ed410ac1411a550cf37f11630932a
BLAKE2b-256 4ad2f08a4b924e4c23f65bf5cf236d712aa9831926e8fada52e61307ca154dda

See more details on using hashes here.

Supported by

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