Saltar al contenido principal
Piloterr
Volver al blog
13 de diciembre de 2023

hRequests: Una Biblioteca de Web Scraping y Automatización

Desarrollada por daijro, hrequests (human requests) está diseñada para ser un reemplazo simple pero configurable de la librería requests de Python. Ofrece una gran cantidad de nuevas características mientras mantiene la facilidad de uso.

Para el scraping en producción, combina técnicas TLS con elusión de anti-bots: comienza con ¿Qué es el fingerprinting TLS?.

Características clave:

  • Transición sin problemas: Cambia fácilmente entre solicitudes HTTP y navegación sin cabeza.
  • Alto rendimiento: Utiliza gevent para la concurrencia sin necesidad de monkey-patching.
  • Análisis avanzado: Incluye un analizador HTML rápido e integrado.
  • Renderizado de JavaScript: Soporta completamente el renderizado de JS, crucial para el web scraping moderno.
  • Soporte para HTTP/2: Se mantiene actualizado con los últimos protocolos web.
  • Huellas TLS de navegador: Imitan el tráfico real del navegador para mejorar el sigilo.
  • Manejo eficiente de JSON: Hasta 10 veces más rápido en la serialización de JSON en comparación con la librería estándar.
  • Navegación con navegador: Automatización simplificada del navegador, con simulaciones de interacción humana.

Se puede instalar fácilmente mediante pip: pip install -U hrequests[all] y python -m playwright install firefox chromium.

Uso y documentación

La documentación completa disponible en Gitbook detalla todo, desde solicitudes GET simples hasta tareas complejas de automatización de navegadores. El módulo soporta métodos HTTP estándar como GET, POST, PUT, DELETE, HEAD, OPTIONS y PATCH, con respuestas muy similares a las de la librería original requests.

Solicitudes concurrentes y perezosas

hrequests introduce conceptos como solicitudes nohup para operaciones en segundo plano y concurrencia basada en arrays para manejar múltiples solicitudes simultáneamente.

Análisis HTML y automatización de navegadores

Aprovechando PyQuery para un análisis HTML eficiente, hrequests permite un análisis detallado e interacción con el contenido web. La automatización del navegador soporta tanto navegadores sin cabeza como gráficos, con extensiones para Chrome y Firefox.

Manejo de excepciones

La librería ofrece métodos robustos para manejar excepciones y tiempos de espera, asegurando una ejecución confiable del script.

Comunidad y contribuciones

Mantenida por la comunidad de Python, hrequests es un testimonio del desarrollo colaborativo. Las contribuciones y comentarios son siempre bienvenidos, fomentando la mejora continua.

Licencias y soporte

Licenciada bajo la Licencia de Software Apache (Apache-2.0), hrequests garantiza compatibilidad con una amplia gama de proyectos. Se soportan versiones de Python desde la 3.7 hasta la 3.11.

En conclusión, hrequests es una herramienta poderosa para desarrolladores de Python, que ofrece características mejoradas y capacidades para solicitudes web y scraping. Su diseño fácil de usar, junto con funcionalidades avanzadas, lo convierte en una excelente opción tanto para principiantes como para profesionales experimentados en el desarrollo web con Python.

Más para leer

Guías y noticias sobre web scraping, proxies y extracción de datos.

Web Scraping

Web scraping para automoción: seguir precios de coches y piezas en AutoScout24, Mobile.de, Leboncoin y Autodoc

Cómo las plataformas de pricing automovilístico usan APIs de scraping para vigilar anuncios de coches de ocasión en AutoScout24, Mobile.de y Leboncoin, y precios de piezas en las más de 30 tiendas nacionales de Autodoc. Diseño del pipeline, ejemplos de API y un script en Python.

Josselin Liebe
Josselin Liebe
Leer
Web Scraping

Web scraping para brand protection: cazar falsificaciones en AliExpress, Alibaba y Amazon

Cómo las plataformas de brand protection usan APIs de scraping para detectar anuncios falsificados, capturar evidencias del vendedor y vigilar las republicaciones en AliExpress, Alibaba, Amazon y otros marketplaces. Diseño del pipeline, ejemplos de API y un script en Python.

Josselin Liebe
Josselin Liebe
Leer
Web Scraping

Migración desde NetNut: qué hacer tras el cierre de la red

Google tomó medidas contra la red de proxies NetNut/Popa junto al FBI y Lumen. Cómo replantear tu stack de scraping sin gestionar proxies por tu cuenta.

Josselin Liebe
Josselin Liebe
Leer

¿Listo para empezar?

Tu API de web scraping está a un clic. Comienza con +500 créditos, sin infraestructura que configurar, sin proxies que gestionar y sin necesidad de tarjeta de crédito.

  • +500 créditos
  • Sin tarjeta de crédito
  • Todos los endpoints incluidos