Surfer
A high level concurrency downloader.
surfer是一款Go语言编写的高并发爬虫下载器,拥有surf与phantom两种下载内核。
支持固定UserAgent自动保存cookie与随机大量UserAgent禁用cookie两种模式,高度模拟浏览器行为,可实现模拟登录等功能。
高并发爬虫Pholcus的专用下载器。(官方QQ群:Go大数据 42731170,欢迎加入我们的讨论)
Features
- Both
surf
andphantomjs
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()
}