Pergi Colly - Akses URL dalam untuk gelung

王林
Lepaskan: 2024-02-06 10:51:03
ke hadapan
981 orang telah melayarinya

Go Colly - 在 for 循环中访问 URL

Kandungan soalan

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)
    }
}
Salin selepas log masuk

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
Salin selepas log masuk

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?


Jawapan betul


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)
  }
}
Salin selepas log masuk

Atas ialah kandungan terperinci Pergi Colly - Akses URL dalam untuk gelung. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!