【背景】
折腾:
期间,搞懂基本的go的代码的写法和运行,接着就是去学习,如何用go实现基本的网页抓取的。
【折腾过程】
1.参考:
去试试http.Get
2.期间,先去弄清楚,字符串初始化和赋值:
3.再去继续折腾。
试试:
package main
import (
"fmt"
//"log"
"io/ioutil"
"net/http"
)
func main() {
fmt.Printf("this is EmulateLoginBaidu.go\n")
//var baiduMainUrl string
//baiduMainUrl = "http://www.baidu.com/";
//baiduMainUrl := "http://www.baidu.com/";
var baiduMainUrl string = "http://www.baidu.com/";
fmt.Printf("baiduMainUrl=%s\n", baiduMainUrl)
resp, err := http.Get(baiduMainUrl)
if err != nil {
fmt.Printf("http get response errror=%s\n", err)
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
fmt.Printf("body=%s\n", body)
}结果:
是可以打印出返回的html的:
D:\tmp\tmp_dev_root\go\src\github.com\user\EmulateLoginBaidu>go run EmulateLoginBaidu.go this is EmulateLoginBaidu.go baiduMainUrl=http://www.baidu.com/ body=<!DOCTYPE html><!--STATUS OK--><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><title>百度一下,你就知道</title><......... var _trace_page_logid = 2910146459; </script>
至此,可以实现简单的抓取网页的html了:
【总结】
用如下的go代码:
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
var baiduMainUrl string = "http://www.baidu.com/";
fmt.Printf("baiduMainUrl=%s\n", baiduMainUrl)
resp, err := http.Get(baiduMainUrl)
if err != nil {
fmt.Printf("http get response errror=%s\n", err)
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
fmt.Printf("body=%s\n", body)
}可以实现基本的抓取网页的html了。
转载请注明:在路上 » 【记录】用go实现基本抓取百度网页的html