go-rod-master
Automatiza navegadores y extrae datos de sitios web con go-rod
¿Tienes problemas con la detección de bots y la automatización compleja de navegadores en Go? Esta habilidad proporciona patrones listos para producción para el control de navegadores headless con capacidades de sigilo integradas.
Descargar el ZIP de la skill
Subir en Claude
Ve a Configuración → Capacidades → Skills → Subir skill
Activa y empieza a usar
Pruébalo
Usando "go-rod-master". Navegar a GitHub y extraer información del repositorio
Resultado esperado:
Título de la página: GitHub: Let's build from here
Encontrados 127 enlaces en la página
Resultado de búsqueda: go-rod/rod - Controlador DevTools Protocol para Go
Usando "go-rod-master". Verificar que el modo sigiloso pasa las pruebas de detección de bots
Resultado esperado:
Captura guardada en stealth_result.png
User Agent: true
WebDriver: missing (passed)
Chrome: present (passed)
Plugins Length: 3
Languages: en-US,en
Auditoría de seguridad
Riesgo bajoStatic analysis detected 279 potential issues but all are false positives from pattern matching on markdown documentation and Go import statements. The 'external_commands' findings are markdown table separators (|), not shell execution. The 'scripts' findings are Go import statements, not JavaScript. Network findings are example URLs in documentation, which is expected for a browser automation tutorial. One critical finding for 'keylogger keywords' at SKILL.md:515 references legitimate keyboard input simulation (page.Keyboard.MustType) for browser automation, not malicious keylogging. Screen capture findings reference screenshot functionality for testing. Overall risk is low due to legitimate browser automation use case with proper resource cleanup patterns documented.
Problemas de riesgo bajo (4)
Factores de riesgo
🌐 Acceso a red (3)
⚙️ Comandos externos (2)
Puntuación de calidad
Lo que puedes crear
Pipeline de Web Scraping
Construye scrapers confiables para sitios web dinámicos con mucho JavaScript que cargan contenido vía AJAX. Usa el modo sigiloso para evitar la detección y pools de páginas para scraping concurrente.
Pruebas Automatizadas
Crea pruebas de navegador end-to-end para aplicaciones web con estrategias de espera adecuadas, interacción con elementos y captura de capturas de pantalla para regresión visual.
Investigación de Detección de Bots
Estudia y prueba sistemas de detección de bots comparando resultados de huellas digitales antes y después de aplicar evasiones de sigilo.
Prueba estos prompts
Escribe un script en Go usando go-rod que navegue a un sitio web de noticias, espere a que la página cargue y extraiga todos los titulares de artículos con sus enlaces. Incluye manejo de errores adecuado y limpieza de recursos.
Crea un scraper listo para producción usando go-rod/stealth que pueda evitar la detección básica de bots. Incluye configuración de proxy, retrasos aleatorios entre acciones y verificación usando una página de prueba de detección de bots.
Construye un script go-rod que intercepte todas las llamadas API realizadas por una aplicación de una sola página, registre datos de solicitud/respuesta y modifique cuerpos de respuesta para inyectar seguimiento JavaScript personalizado.
Implementa un scraper de alto rendimiento usando rod.PagePool que procese una lista de 100+ URLs concurrentemente con un máximo de 5 páginas simultáneas. Incluye agregación de resultados, manejo de errores y limpieza adecuada.
Mejores prácticas
- Usa siempre stealth.MustPage() en lugar de browser.MustPage() para sitios del mundo real para evitar la detección de bots
- Usa defer browser.MustClose() inmediatamente después de conectarte para asegurar la limpieza incluso con errores
- Reemplaza las llamadas time.Sleep() con los métodos de espera integrados de Rod como MustWaitStable() y MustWaitRequestIdle()
Evitar
- Crear una nueva instancia de Browser por tarea - crea un solo Browser y usa múltiples instancias de Page
- Usar métodos Must* en código de producción - usa métodos que retornan errores para manejo explícito de errores
- Olvidar llamar go router.Run() después de configurar rutas hijack - el router debe iniciarse
Preguntas frecuentes
¿Cómo ejecuto go-rod sin descargar Chromium?
¿Por qué sigo siendo detectado por Cloudflare después de usar stealth?
¿Cómo manejo iframes y elementos del Shadow DOM?
¿Cuál es la diferencia entre MustWaitLoad() y MustWaitRequestIdle()?
¿Puedo usar extensiones de Chrome con go-rod?
¿Cómo manejo las descargas de archivos?
Detalles del desarrollador
Autor
sickn33Licencia
MIT
Repositorio
https://github.com/sickn33/antigravity-awesome-skills/tree/main/web-app/public/skills/go-rod-masterRef.
main
Estructura de archivos