Saya ada contoh di mana saya harus melawati berbilang pautan dan mengekstrak maklumat daripadanya. Masalahnya ialah apabila saya menggunakan "colly.Visit(URL)" lawatan saya meningkat. Contoh:
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) } }
Ini akan mencetak:
Visiting categories http://cate1 Visiting categories http://cate2 Visiting categories http://cate2 Visiting categories http://cate3 Visiting categories http://cate3 Visiting categories http://cate3
Saya cuba memulakan colly selepas setiap lelaran dan ia berfungsi dengan baik - maka susunannya ialah: kategori akses http://cate1, kategori akses http://cate2, kategori akses http://cate3 Tetapi melakukan ini saya akan kehilangan sesi log masuk saya.. Sebarang cadangan?
Anda menambah pengendali baharu OnRequest
untuk setiap lelaran gelung. Konfigurasikan pengendali di luar gelung:
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) } }
Atas ialah kandungan terperinci Pergi Colly - Akses URL dalam untuk gelung. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!