Surfer 高并发双核无头浏览器 (Golang语言)

时间:2023-06-29 10:16:20

Surfer Surfer 高并发双核无头浏览器 (Golang语言) Surfer 高并发双核无头浏览器 (Golang语言)

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