下面使用HTTP客户端爬取百度首页:
爬虫主要用到客户端代码,不需要服务器代码,服务器是使用待爬取数据的IP服务器。
程序代码:
package main
import (
"fmt"
"net/http"
)
func main() {
//获取请求网址
resp, err := http.Get("http://www.baidu.com")
if err != nil {
fmt.Println("http.Get err = ",err)
return
}
//爬取的内容在Body,结束时应该关闭
defer resp.Body.Close()
fmt.Println("Status = ", resp.Status)
fmt.Println("StatusCode = ", resp.StatusCode)
fmt.Println("Header = ", resp.Header)
/**
Body是一个IO,需要读取
*/
//1.定义一个切片存储
buf := make([]byte,1024*4)
//定义一个字符串
var tmp string
for {
//将Body存储进 n
n,err := resp.Body.Read(buf)
//如果n=0说明读取完毕
if n==0 {
//打印结束条件
fmt.Println("read err = ",err)
break
}
//进行字符串累加
tmp += string(buf[:n])
}
//打印字符串(Body)
fmt.Println("tmp = ",tmp)
}
运行结果:
tmp的主体内容就是百度首页的源码,如下: