前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >神奇的go语言(网页下载)

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

作者头像
李海彬
发布2018-03-22 12:08:15
1K0
发布2018-03-22 12:08:15
举报
文章被收录于专栏:Golang语言社区Golang语言社区

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

代码语言:javascript
复制
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下载、创建文件、读取字符、写文件。不知道大家答对没有。有兴趣的朋友可以将这部分代码拷贝下来测试一下。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-07-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档