国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

Colly 擴(kuò)展插件:給爬蟲裝上“瑞士軍刀”

2025-07-11 15:31 更新

官方擴(kuò)展 = 一行代碼 + 零配置,立刻擁有隨機(jī) UA、自動 Referer、限速等實(shí)用功能。本文帶你 3 分鐘全部學(xué)會!

一、什么是 Colly 擴(kuò)展?

擴(kuò)展(Extensions)是官方隨框架一起發(fā)布的“小工具箱”,開箱即用,無需自己造輪子。
目前常用 4 件套:

擴(kuò)展名 作用 一行代碼
RandomUserAgent 每次請求隨機(jī) UA,防封 extensions.RandomUserAgent(c)
Referer 自動把上一頁 URL 設(shè)為 Referer extensions.Referer(c)
URLLengthFilter 過濾超長 URL extensions.URLLengthFilter(c, 2083)
MaxDepth 限制爬取深度 extensions.MaxDepth(c, 3)

二、快速上手:3 行代碼跑 Demo

package main


import (
    "log"


    "github.com/gocolly/colly/v2"
    "github.com/gocolly/colly/v2/extensions"
)


func main() {
    c := colly.NewCollector()


    // 1. 開啟隨機(jī) UA
    extensions.RandomUserAgent(c)
    // 2. 自動設(shè)置 Referer
    extensions.Referer(c)
    // 3. 限制深度 2 層
    extensions.MaxDepth(c, 2)


    c.OnResponse(func(r *colly.Response) {
        log.Printf("UA=%s  Referer=%s\n",
            r.Request.Headers.Get("User-Agent"),
            r.Request.Headers.Get("Referer"))
    })


    c.Visit("http://eska-fuses.cn/")
}

運(yùn)行結(jié)果(每次 UA 都不同):

UA=Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...
Referer=http://eska-fuses.cn/

三、組合套餐:真實(shí)項(xiàng)目模板

c := colly.NewCollector(
    colly.Async(true),
    colly.UserAgent("編程獅爬蟲/1.0"), // 兜底 UA
)


// 官方擴(kuò)展三連
extensions.RandomUserAgent(c) // 隨機(jī) UA
extensions.Referer(c)         // 自動 Referer
extensions.MaxDepth(c, 3)     // 最多 3 層


// 自定義限速
c.Limit(&colly.LimitRule{
    Parallelism: 16,
    Delay:       200 * time.Millisecond,
})

四、自己動手寫擴(kuò)展

只要實(shí)現(xiàn) func(*colly.Collector) 就能成為官方級擴(kuò)展:

// 示例:打印每次請求耗時(shí)
func TimerExtension(c *colly.Collector) {
    c.OnRequest(func(r *colly.Request) {
        r.Ctx.Put("start", time.Now())
    })
    c.OnResponse(func(r *colly.Response) {
        start := r.Ctx.GetAny("start").(time.Time)
        log.Printf("耗時(shí) %v → %s", time.Since(start), r.Request.URL)
    })
}


// 使用
TimerExtension(c)

五、1 分鐘實(shí)驗(yàn)

  1. 打開 Go 環(huán)境 → 新建 main.go
  2. 復(fù)制“組合套餐”代碼 → 運(yùn)行。
  3. 觀察終端:UA 隨機(jī)、Referer 自動、深度受控,全部生效!
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號