zoukankan      html  css  js  c++  java
  • 奇妙的go语言(网页下载)


    【 声明:版权全部,欢迎转载,请勿用于商业用途。  联系信箱: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下载、创建文件、读取字符、写文件。不知道大家答对没有。有兴趣的朋友能够将这部分代码拷贝下来測试一下。


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




  • 相关阅读:
    MySQL 三节点企业版
    Raft 一致性算法论文译文 JAVA
    MySQL EXPLAIN 命令详解学习
    MySQL 5.7.17 Group Replication 初始
    JAVA 线程池以及其他
    什么是IIS并发连接数
    CUDA
    各种学习手册在线
    弱电系统标准CAD图例识图讲解
    ACM---算法
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4042849.html
Copyright © 2011-2022 走看看