# README
欢迎使用gspider 蜘蛛 爬虫 采集
快速采集网页
开始
安装
$ go get -u github.com/ghostljj/gspider
python 有大名鼎鼎的requests
golang 有gspider 大致使用差不多
支持http代理,Socks5代理
例子
package main
import (
"fmt"
gs "github.com/ghostljj/gspider"
)
func main() {
var strUrl string
strUrl = "http://2022.ip138.com/ic.asp"
//strUrl = "http://www.baidu.com"
//strUrl = "http://www.google.com"
req := gs.Session()
//ss.SetHttpProxy(fmt.Sprintf("http://%s:%d", "127.0.0.1", 10809))
//ss.SetSocks5Proxy("127.0.0.1:10808", "", "")
res := req.Get(strUrl,
gs.OptRefererUrl("http://www.baidu.com"),
gs.OptCookie("aa=11;bb=22"),
gs.OptHeader(map[string]string{"h1": "v1", "h2": "v2"}),
)
res.Encode = "utf-8"
if res.GetErr() != nil {
fmt.Println("Error=" + res.GetErr().Error())
} else {
fmt.Println()
fmt.Println()
fmt.Println()
fmt.Println()
fmt.Println(res.GetContent())
res.PrintReqHeader("") //打印 请求 头信息
res.GetReqHeader()
res.PrintReqPostData() // 打印 请求 PostData
res.PrintResHeader("") //打印 响应 头信息
res.PrintResSetCookie() //打印 响应 头信息SetCookie
res.PrintResUrl() // 打印 响应 最后的Url
res.PrintCookies(res.GetResUrl()) // 获取 响应 最后的Url 的 Cookie
res.PrintStatusCode() // 打印 响应 状态码
}
}
为什么打印些无用的东西给我?
因为,这就是调试信息,仔细看会发现使用函数哈。
打印后慢慢磨控制台,会有惊喜
可以Post, Get, PostJson,GetJson 等 有示例2 有空可以看看
Post 时注意,送给同学们url.QueryEscape 这个函数,用于参数编码,会有用的。Post json请忽略
还有就是可以获取图像Base64字符串,使用GetBase64Image
设置Cookies
SetCookies(strUrl, "NewKey1=NewValue1;NewKey2=NewValue==99=2;")
清空Cookies
ResetCookie()
获取Cookies
Cookies(strUrl)
题外话:获取 Cookie Json 可用于Chrome的 EditThisCookie 插件 当你知道某网站的Cookie时,使用这个可以生成能用EditThisCookie导入Cookie里面。例如一些已登录的网站。
gspider.GetCookieJson(strUrl, strCookie)