J'ai un exemple dans lequel je devrais visiter plusieurs liens et en extraire des informations. Le problème est que lorsque j'utilise "colly.Visit(URL)", mes visites augmentent. Exemple :
package main import ( "fmt" "github.com/gocolly/colly" ) func main() { CATETORIES := []string{ "cate1", "cate2", "cate3", } c := colly.NewCollector() for _, cate := range CATETORIES { c.OnRequest(func(r *colly.Request) { fmt.Println("Visiting categories", r.URL) }) c.Visit(cate) } }
Cela imprimera :
Visiting categories http://cate1 Visiting categories http://cate2 Visiting categories http://cate2 Visiting categories http://cate3 Visiting categories http://cate3 Visiting categories http://cate3
J'ai essayé d'initialiser Colly après chaque itération et cela a bien fonctionné - alors l'ordre était : catégorie d'accès http://cate1, catégorie d'accès http://cate2, catégorie d'accès http://cate3 Mais en faisant cela, je perdrai ma session de connexion. Aucune suggestion?
Vous ajoutez un nouveau OnRequest
gestionnaire pour chaque itération de boucle. Configurez le gestionnaire en dehors de la boucle :
func main() { CATETORIES := []string{ "cate1", "cate2", "cate3", } c := colly.NewCollector() c.OnRequest(func(r *colly.Request) { fmt.Println("Visiting categories", r.URL) }) for _, cate := range CATETORIES { c.Visit(cate) } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!