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