Este proyecto es una aplicación de Node.js que utiliza Puppeteer para realizar web scraping y Express.js para proporcionar una API con tres rutas principales.
- Buscar todos los textos de los elementos que tienen un selector específico.
- Buscar el elemento o los elementos cuyo texto coincide exactamente con el título proporcionado.
- Tomar una captura de pantalla de una página web.
- Clona este repositorio:
git clone https://github.com/AbrahamBass/scraper.git
- Navega al directorio del proyecto:
cd tu_repositorio - Instala las dependencias:
npm install
- Inicia el servidor:
npm run dev
- Realiza solicitudes a la API utilizando las rutas descritas a continuación.
- Ruta:
/get/by/atribute - Método:
GET - Descripción: Obtiene todos los textos de los elementos que coinciden con el selector CSS proporcionado.
- Parámetros:
url(string): URL de la página web.selector(string): Selector CSS para los elementos deseados.
- Retorno: Array de textos encontrados.
- Ejemplo de solicitud:
curl "https://scraper-aiqa.onrender.com/get/by/atribute?url=https://ejemplo.com&selector=#about" - Respuesta:
[ "Texto del primer elemento", "Texto del segundo elemento", ... ]
- Ruta:
/get/by/title - Método:
GET - Descripción: Busca elementos cuyo texto coincida exactamente con el título proporcionado.
- Parámetros:
url(string): URL de la página web.title(string): Texto exacto a buscar.
- Retorno: Elementos encontrados con su texto, ID y clase.
- Ejemplo de solicitud:
curl "https://scraper-aiqa.onrender.com/get/by/title?url=https://ejemplo.com&title=Texto exacto" - Respuesta:
[ { "text": "Texto exacto", "id": "elemento-id", "class": "elemento-clase" }, ... ]
- Ruta:
/screenshot - Método:
GET - Descripción: Toma una captura de pantalla de la página web especificada.
- Parámetros:
url(string): URL de la página web.
- Retorno: Captura de pantalla en formato de imagen.
- Ejemplo de solicitud:
curl "https://scraper-aiqa.onrender.com/screenshot?url=https://ejemplo.com" -o screenshot.png
Este proyecto utiliza Swagger para documentar la API. Puedes acceder a la documentación interactiva de Swagger en la siguiente ruta:
- URL:
https://scraper-aiqa.onrender.com/api/docs
Las contribuciones son bienvenidas. Para contribuir, sigue estos pasos:
- Bifurca este repositorio.
- Crea una rama nueva (
git checkout -b feature/nueva-funcionalidad). - Realiza tus cambios y confirma tus cambios (
git commit -m 'Añadir nueva funcionalidad'). - Empuja tu rama a GitHub (
git push origin feature/nueva-funcionalidad). - Crea una solicitud de extracción.
¡Gracias por utilizar esta API! Si tienes alguna pregunta o problema, no dudes en abrir un issue en GitHub.