
Ethan Collins
Pattern Recognition Specialist
El Agente de Usuario es una cadena especial que se encuentra en los encabezados de las solicitudes y permite a los servidores identificar el sistema operativo y la versión del cliente, el tipo de navegador y su versión, y otros detalles.
Para los navegadores normales, las cadenas de Agente de Usuario se parecen a esto:
Google Chrome versión 128 en el sistema operativo Windows:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36
Firefox:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:130.0) Gecko/20100101 Firefox/130.0
Sin embargo, en Colly (un framework de raspado web), el Agente de Usuario predeterminado es:
colly - https://github.com/gocolly/colly
En el contexto del raspado de datos, una de las medidas anti-raspado más comunes es determinar si la solicitud proviene de un navegador normal examinando el Agente de Usuario. Esto ayuda a identificar bots.
El Agente de Usuario predeterminado de Colly es obviamente equivalente a decirle directamente al sitio web de destino: "Soy un bot". Esto facilita que los sitios web detecten y bloqueen potencialmente los intentos de raspado que utilizan Colly con su configuración predeterminada.
Reclama tu Código de bonificación para las mejores soluciones de captcha; CapSolver: WEBS. Después de canjearlo, obtendrás un bono adicional del 5% después de cada recarga, Ilimitado
Antes de sumergirnos en el código, echemos un vistazo rápido a por qué es crucial cambiar el Agente de Usuario:
¡Por supuesto! Traduciré el texto al español y lo formatearé correctamente. Aquí tienes la versión traducida y formateada:
Podemos comprobar el valor de nuestro Agente de Usuario visitando https://httpbin.org/user-agent. Colly proporciona principalmente tres métodos para gestionar las solicitudes:
Aquí tienes un ejemplo completo de código para acceder a httpbin e imprimir el Agente de Usuario:
package main
import (
"github.com/gocolly/colly"
"log"
)
func main() {
// Crear un nuevo recolector
c := colly.NewCollector()
// Llamar a la devolución de llamada onResponse e imprimir el contenido HTML
c.OnResponse(func(r *colly.Response) {
log.Println(string(r.Body))
})
// Manejar errores de solicitud
c.OnError(func(e *colly.Response, err error) {
log.Println("Solicitud fallida, err:", err)
})
// Comenzar a raspar
err := c.Visit("https://httpbin.org/user-agent")
if err != nil {
log.Fatal(err)
}
}
Esto imprimirá:
{
"user-agent": "colly - https://github.com/gocolly/colly"
}
Colly proporciona el método colly.UserAgent para personalizar el Agente de Usuario. Si quieres utilizar diferentes Agentes de Usuario para cada solicitud, puedes definir una lista de Agentes de Usuario y seleccionarlos aleatoriamente. Aquí tienes un ejemplo:
package main
import (
"github.com/gocolly/colly"
"log"
"math/rand"
)
var userAgents = []string{
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:130.0) Gecko/20100101 Firefox/130.0",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 Edg/128.0.0.0",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 OPR/113.0.0.0",
}
func main() {
// Crear un nuevo recolector
c := colly.NewCollector(
// Establecer el agente de usuario
colly.UserAgent(userAgents[rand.Intn(len(userAgents))]),
)
// Llamar a la devolución de llamada onResponse e imprimir el contenido HTML
c.OnResponse(func(r *colly.Response) {
log.Println(string(r.Body))
})
// Manejar errores de solicitud
c.OnError(func(e *colly.Response, err error) {
log.Println("Solicitud fallida, err:", err)
})
// Comenzar a raspar
err := c.Visit("https://httpbin.org/user-agent")
if err != nil {
log.Fatal(err)
}
}
En lugar de mantener una lista de Agentes de Usuario personalizada, podemos utilizar la biblioteca fake-useragent para generar Agentes de Usuario aleatorios. Aquí tienes un ejemplo:
package main
import (
browser "github.com/EDDYCJY/fake-useragent"
"github.com/gocolly/colly"
"log"
)
func main() {
// Crear un nuevo recolector
c := colly.NewCollector(
// Establecer el agente de usuario
colly.UserAgent(browser.Random()),
)
// Llamar a la devolución de llamada onResponse e imprimir el contenido HTML
c.OnResponse(func(r *colly.Response) {
log.Println(string(r.Body))
})
// Manejar errores de solicitud
c.OnError(func(e *colly.Response, err error) {
log.Println("Solicitud fallida, err:", err)
})
// Comenzar a raspar
err := c.Visit("https://httpbin.org/user-agent")
if err != nil {
log.Fatal(err)
}
}
Si bien la aleatorización de los Agentes de Usuario en Colly puede ayudar a evitar ser identificado como un bot hasta cierto punto, puede no ser suficiente cuando se enfrentan a desafíos anti-bot más sofisticados. Los ejemplos de estos desafíos incluyen reCAPTCHA, captcha, captcha, captcha WAF, captcha, Cloudflare Turnstile y otros. Estos sistemas comprueban la validez de los encabezados de tu solicitud, verifican tu huella digital del navegador, evalúan el riesgo de tu IP y pueden requerir parámetros de encriptación JS complejos o tareas difíciles de reconocimiento de imágenes.
Estos desafíos pueden obstaculizar significativamente tus esfuerzos de raspado de datos. Sin embargo, no hay que preocuparse, todos los desafíos de bots mencionados anteriormente se pueden manejar con CapSolver. CapSolver utiliza tecnología de desbloqueo web automático basada en IA para resolver CAPTCHAs automáticamente. Todas las tareas complejas se pueden resolver con éxito en cuestión de segundos.
El sitio web oficial proporciona SDKs en varios idiomas, lo que facilita su integración en tu proyecto. Puedes consultar la documentación de CapSolver para obtener más información sobre cómo implementar esta solución en tus proyectos de raspado.
¡Por supuesto! Aquí tienes una conclusión para el artículo sobre el cambio de Agentes de Usuario en Go Colly:
Cambiar el Agente de Usuario en Go Colly es una técnica crucial para un raspado web efectivo y resistente. Al implementar Agentes de Usuario personalizados, puedes reducir significativamente el riesgo de que tu raspador sea detectado y bloqueado por los sitios web de destino. Aquí tienes un resumen de los puntos clave que hemos cubierto:
Hemos aprendido por qué es importante cambiar el Agente de Usuario para los proyectos de raspado web.
Hemos explorado diferentes métodos para establecer Agentes de Usuario personalizados en Colly, incluyendo:
Hemos discutido cómo estas técnicas pueden ayudar a imitar el comportamiento de los navegadores reales y evitar la detección.
Para desafíos anti-bot más avanzados, hemos introducido el concepto de utilizar herramientas especializadas como CapSolver para manejar CAPTCHAs y otros sistemas de verificación complejos.
Recuerda, si bien cambiar los Agentes de Usuario es una estrategia efectiva, es solo una parte del raspado web responsable y eficiente. Respeta siempre los términos de servicio y los archivos robots.txt de los sitios web, implementa la limitación de frecuencia y considera las implicaciones éticas de tus actividades de raspado.
Al combinar estas técnicas con otras mejores prácticas en el raspado web, puedes crear raspadores más robustos y fiables utilizando Go Colly. A medida que las tecnologías web continúan evolucionando, mantenerse actualizado con las últimas técnicas y herramientas de raspado será crucial para mantener la efectividad de tus proyectos de raspado web.
Importante: Al realizar raspado web, es crucial adherirse a las directrices legales y éticas. Asegúrate siempre de tener permiso para raspar el sitio web de destino y respeta el archivo
robots.txty los términos de servicio del sitio. CapSolver se opone firmemente al uso indebido de nuestros servicios para cualquier actividad no conforme. El uso indebido de herramientas automatizadas para eludir CAPTCHAs sin autorización adecuada puede acarrear consecuencias legales. Asegúrate de que tus actividades de raspado cumplen con todas las leyes y regulaciones aplicables para evitar posibles problemas.
Descubre CapSolver, el principal solucionador de CAPTCHA sin código para la automatización de IA en 2026, para optimizar los flujos de trabajo y mejorar la recopilación de datos sin necesidad de programar. Aprende sobre sus características principales, beneficios y uso ético.

Guía completa sobre la infraestructura de resolución de CAPTCHA que impulsa los navegadores Agentic. Aprende por qué los CAPTCHA son el obstáculo principal para los agentes de IA y cómo CapSolver proporciona la solución esencial para la automatización web fluida.
