Caché HTTP persistente para la biblioteca requests de Python que almacena respuestas en SQLite, Redis, MongoDB, DynamoDB o archivos.
MechanicalSoup/MechanicalSoup
Biblioteca de Python para automatizar interacciones con sitios web, guardar cookies, seguir enlaces y enviar formularios sin un motor de navegador.
- Estrellas
- 4,901
- Forks
- 406
- Issues abiertos
- 40
- Último commit
- el mes pasado
¿Qué es?
MechanicalSoup es una biblioteca de Python para programar interacciones con sitios web. Guarda y envía cookies automáticamente, sigue redirecciones y enlaces, y completa y envía formularios HTML, de modo que un script puede navegar por un sitio de forma muy similar a como lo haría un usuario en un navegador.
La biblioteca se basa en Requests para las sesiones HTTP y en BeautifulSoup para analizar y recorrer documentos HTML. Su API está inspirada en la antigua biblioteca Mechanize, cuyo desarrollo se estancó durante años y que no se pudo usar con Python 3 hasta 2019. MechanicalSoup no ejecuta JavaScript, por lo que es adecuada para sitios que ofrecen su contenido y sus formularios como HTML sin procesar.
El proyecto es compatible con Python 3 y PyPy3, y se puede instalar desde PyPI. Los ejemplos del repositorio muestran cómo hacer una búsqueda en un sitio y leer los resultados, además de cómo gestionar formularios con casillas de verificación, botones de opción y áreas de texto.
Funciones clave
- 01Guarda y envía cookies automáticamente entre solicitudes.
- 02Sigue redirecciones y enlaces de una página.
- 03Completa y envía formularios HTML, incluidos los que tienen casillas de verificación, botones de opción y áreas de texto.
- 04Se basa en Requests y BeautifulSoup, y ofrece una API similar a la de Mechanize.
- 05Funciona con Python 3 y PyPy3.
Casos de uso
- Extraer resultados de búsqueda o datos de sitios web renderizados en el servidor.
- Automatizar el envío repetitivo de formularios en un sitio web.
- Probar desde scripts de Python los flujos de inicio de sesión y de formularios de una aplicación web.
Inicio rápido
- 1
Instala la última versión desde PyPI
pip install MechanicalSoup - 2
Ejecuta el script de ejemplo que busca en Qwant y muestra los resultados
Antes de usarlo
- No ejecuta JavaScript, por lo que las páginas renderizadas con JavaScript no funcionarán.
Temas
Preguntas frecuentes
- ¿Qué es MechanicalSoup?
- Biblioteca de Python para automatizar interacciones con sitios web, guardar cookies, seguir enlaces y enviar formularios sin un motor de navegador. MechanicalSoup es una biblioteca de Python para programar interacciones con sitios web. Guarda y envía cookies automáticamente, sigue redirecciones y enlaces, y completa y envía formularios HTML, de modo que un script puede navegar por un sitio de forma muy similar a como lo haría un usuario en un navegador.
- ¿MechanicalSoup es gratuito? ¿Qué licencia tiene?
- MechanicalSoup es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿MechanicalSoup sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de MechanicalSoup fue el 7 oct 2026.
- ¿Para qué puedo usar MechanicalSoup?
- Extraer resultados de búsqueda o datos de sitios web renderizados en el servidor. Automatizar el envío repetitivo de formularios en un sitio web. Probar desde scripts de Python los flujos de inicio de sesión y de formularios de una aplicación web.
- ¿Cómo se instala MechanicalSoup?
- Instala la última versión desde PyPI: pip install MechanicalSoup Ejecuta el script de ejemplo que busca en Qwant y muestra los resultados
- ¿Dónde consigo MechanicalSoup?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/MechanicalSoup/MechanicalSoup
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Una biblioteca de Python para crear crawlers y scrapers web fiables, con modos HTTP y de navegador headless, rotación de proxies y almacenamiento persistente.
Un complemento pequeño para la biblioteca requests de Python que envía solicitudes HTTP de forma asíncrona con concurrent.futures.
Biblioteca de automatización web para Python que controla navegadores y envía solicitudes HTTP, combinando la comodidad de la automatización del navegador con la eficiencia de requests.
Una biblioteca de Python para automatizar navegadores con Selenium que permite localizar elementos por sus etiquetas visibles en lugar de usar selectores.
Un asistente de IA en el panel lateral del navegador que automatiza tareas web y extrae datos de sitios, con un puente para que los agentes de programación controlen el navegador.