[+]文章目录

网页下载

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

package main  

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

 func main(){  

    resp,err:=http.Get("http://www.jikexuectolib.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 下载、创建文件、读取字符、写文件。不知道大家答对没有。有兴趣的朋友可以将这部分代码拷贝下来测试一下。


« 前一篇