Surfer GoDoc GitHub release

 

A high level concurrency downloader.

surfer是一款Go语言编写的高并发爬虫下载器,拥有surf与phantom两种下载内核。

支持固定UserAgent自动保存cookie与随机大量UserAgent禁用cookie两种模式,高度模拟浏览器行为,可实现模拟登录等功能。

高并发爬虫Pholcus的专用下载器。(官方QQ群:Go大数据 42731170,欢迎加入我们的讨论)

Features

Both surf and phantomjs engines are supported
Support random User-Agent
Support cache cookie
Support http/https

Usage

package main
import (
    "github.com/henrylee2cn/surfer"
    "io/ioutil"
    "log"
)
func main() {
    // 默认使用surf内核下载
    resp, err := surfer.Download(&surfer.DefaultRequest{
        Url: "http://github.com/henrylee2cn/surfer",
    })
    if err != nil {
        log.Fatal(err)
    }
    b, err := ioutil.ReadAll(resp.Body)
    log.Println(string(b), err)
    // 指定使用phantomjs内核下载
    resp, err = surfer.Download(&surfer.DefaultRequest{
        Url:          "http://github.com/henrylee2cn",
        DownloaderID: 1,
    })
    if err != nil {
        log.Fatal(err)
    }
    b, err = ioutil.ReadAll(resp.Body)
    log.Println(string(b), err)
    resp.Body.Close()
    surfer.DestroyJsFiles()
}

  GitHub:  https://github.com/henrylee2cn/surfer