奇妙的go语言(网页下载)

lcchuguo · · 3100 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。


【 声明:版权全部,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】  


    眼下,网上关于网页爬行的代码非常多。可是,自从看了go语言的web下载代码之后,我才发现原来它的网页下载代码才是最简单的。不信的话,大家能够看一下,

package main

 import(
    "fmt"
    "log"
    "net/http"
    "os"
)

 func main(){

    resp,err:=http.Get("http://www.baidu.com")

    if err!=nil{

        //handleerror

        fmt.Println(err)

        log.Fatal(err)

    }

    defer resp.Body.Close()

    if resp.StatusCode==http.StatusOK{

        fmt.Println(resp.StatusCode)

    }

    buf:=make([]byte,1024)


    //createfile

    f,err1:=os.OpenFile("baidu.html",os.O_RDWR|os.O_CREATE|os.O_APPEND,os.ModePerm)

    if err1!=nil{

        panic(err1)

        return
    }

    defer f.Close()
 
    for{

        n,_:=resp.Body.Read(buf)

        if 0==n{

            break

        }

        f.WriteString(string(buf[:n]))

    }
}

   这当中大家能够注意这几个函数就能够了,各自是http.Get,os.OpenFile,resp.Body.Read,f.WriteString。能够想象一下这几个函数是做什么用的。事实上正如它们名字介绍的那样,它们的功能依次是http下载、创建文件、读取字符、写文件。不知道大家答对没有。有兴趣的朋友能够将这部分代码拷贝下来測试一下。


    假设我没有记错,这部分代码是从别处引用的。欢迎作者和我联系,我会在后面备注一下。





有疑问加站长微信联系(非本文作者)

本文来自:博客园

感谢作者:lcchuguo

查看原文:奇妙的go语言(网页下载)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3100 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传