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