最新消息:VPS服务器又从fzhost.net换回linode了,主题仍用朋友推荐的大前端D8

【记录】用go实现基本抓取百度网页的html

GO crifan 143浏览 0评论

【背景】

折腾:

【记录】用go语言实现模拟登陆百度

期间,搞懂基本的go的代码的写法和运行,接着就是去学习,如何用go实现基本的网页抓取的。

【折腾过程】

1.参考:

使用Go读取网页信息

去试试http.Get

2.期间,先去弄清楚,字符串初始化和赋值:

【已解决】go语言中的字符串

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了:

can use go code to scrape baidu got 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

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
16 queries in 0.198 seconds, using 9.70MB memory