Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pergi Colly - Akses URL dalam untuk gelung

Pergi Colly - Akses URL dalam untuk gelung

王林
王林ke hadapan
2024-02-06 10:51:03964semak imbas

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)
    }
}

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?


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)
  }
}

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

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam