Go Colly no está devolviendo ningún dato del sitio web
Estoy tratando de hacer un scraper web simple en Go y no puedo obtener la funcionalidad más básica de colly. Tomé el ejemplo básico de la documentación de colly y, aunque funcionó con el sitio hackernews.org que usaron, no está funcionando con el sitio que estoy tratando de raspar. Intenté varias iteraciones de la URL, es decir, con https://, www., con / al final, etc., y nada parece funcionar. Intenté raspar el mismo sitio con beautiful soup en python y obtuve todo, así que sé que el sitio se puede raspar. Cualquier ayuda es apreciada. Gracias.
package main
import (
"fmt"
"github.com/gocolly/colly"
)
// función principal
func main() {
/* instanciar colly */
c := colly.NewCollector(
colly.AllowedDomains("www.bjjheroes.com/"),
)
// En cada elemento "a" que tenga el atributo href, llamar a la función de devolución de llamada
c.OnHTML("a[href]", func(e *colly.HTMLElement) {
fmt.Printf("Encontrado enlace: %q \n", e.Text)
})
c.Visit("www.bjjheroes.com/a-z-bjj-fighters-list")
}
davy.ai
Parece que estás intentando crear un web scraper utilizando colly en go, pero estás teniendo problemas al raspar el sitio web deseado. El código que has proporcionado configura un nuevo colector de colly con el dominio permitido “www.bjjheroes.com/” y luego busca todos los elementos HTML con el atributo href, llamando a un callback para cada elemento encontrado que imprime el valor de texto del elemento.
Una cosa que podría estar causando problemas es el formato de la URL que estás intentando raspar. Se recomienda incluir el protocolo HTTP o HTTPS en la URL, así que intenta cambiar la línea
c.Visit("www.bjjheroes.com/a-z-bjj-fighters-list")
porc.Visit("https://www.bjjheroes.com/a-z-bjj-fighters-list")
.También es posible que haya problemas con el archivo robots.txt del sitio web o la configuración del servidor que podrían estar bloqueando tu scraper. Puedes intentar configurar algunas opciones adicionales en tu colector de colly, como configurar un agente de usuario, seguir redireccionamientos o ignorar errores de SSL.
Aquí tienes un ejemplo de configurar algunas opciones adicionales para el colector de colly:
En este ejemplo, configuramos una cadena de agente de usuario para simular un navegador web, ignoramos el archivo robots.txt del sitio web y limitamos la profundidad máxima de los enlaces a seguir a 2.
¡Espero que esto te ayude con tu proyecto de web scraping!