私信发送成功
Watch Star Fork

henrylee2cn / surferGoApache-2.0

surfer [high level concurrency downloader] 是一款Go语言编写的高并发爬虫下载器,拥有surf与phantom两种下载内核,支持固定UserAgent自动保存cookie与随机大量UserAgent禁用cookie两种模式,高度模拟浏览器行为,可实现模拟登录等功能。
克隆/下载
henrylee2cn 最后提交于 2017-01-10 10:47 兼容Linux-armv6l平台
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
2017-01-07 00:40
2017-01-07 00:40
2017-01-07 00:40
2017-01-07 00:40
Loading...
README_ZH.md 1.72 KB

surfer GoDoc GitHub release

Surfer 是一款Go语言编写的高并发 web 客户端,拥有surf与phantom两种下载内核,高度模拟浏览器行为,可实现模拟登录等功能。

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

特性

  • 支持 surfphantomjs 两种下载内核
  • 支持大量随机的User-Agent
  • 支持缓存cookie
  • 支持http/https两种协议

用法

package main

import (
    "github.com/henrylee2cn/surfer"
    "io/ioutil"
    "log"
)

func main() {
    // 默认使用surf内核下载
    resp, err := surfer.Download(&surfer.Request{
        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.Request{
        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()
}

完整示例

开源协议

Surfer 项目采用商业应用友好的Apache License v2.发布

项目点评 ( 1 )

你可以在登录后,对此项目发表评论

4_float_left_people 4_float_left_close