奇妙的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下载、创建文件、读取字符、写文件。不知道大家答对没有。有兴趣的朋友能够将这部分代码拷贝下来測试一下。
假设我没有记错,这部分代码是从别处引用的。欢迎作者和我联系,我会在后面备注一下。
奇妙的go语言(网页下载)的更多相关文章
- 网页下载Google Play 的App
前言 当你想在google play上下载某个应用,而无奈手机的系统并没有安装google servicess,此刻是否有些捉急? 本文分享的是一个网站,它可以无需手机而直接通过网页下载Google ...
- Axure7.0中文汉化语言包下载 axure汉化包
Axure RP Pro 7.0 正式版 (兼容 6 版) 简体中文语言包 支持 Axure RP Pro 正式版 当前最新版本 7.0.0.3142 废话不多说,直接给下载地址: Axure7.0中 ...
- Eclipse 官方简体中文语言包下载地址及安装方法
Eclipse 官方简体中文语言包下载地址及安装方法 打开Eclipse Babel Project 主页: http://www.eclipse.org/babel/downloads.php 根据 ...
- 用 python 实现一个多线程网页下载器
今天上来分享一下昨天实现的一个多线程网页下载器. 这是一个有着真实需求的实现,我的用途是拿它来通过 HTTP 方式向服务器提交游戏数据.把它放上来也是想大家帮忙挑刺,找找 bug,让它工作得更好. k ...
- nopcommerce3.5源代码及中文语言包下载地址
nopcommerce3.5源代码下载地址 http://download-codeplex.sec.s-msft.com/Download/SourceControlFileDownload.ash ...
- Eclipse中文语言包下载
Kepler .Juno . Indigo语言包: http://www.eclipse.org/babel/downloads.php 其他低版本Eclipse语言包下载: http://archi ...
- WebView使用_WebView监听网页下载_DownloadManager使用
最近在做一个较简单的项目:通过一个webview来显示一个网页的App 这个网页有下载的功能,关于这一功能需要用到两个知识点: 1.webview监听网页的下载链接.(webview默认情况下是没有开 ...
- iOS 开发工具网页下载
iOS 开发工具网页下载地址: https://developer.apple.com/downloads/
- 第5章 网页下载器和urllib2模块
网页下载器:将互联网上URL对应的网页下载到本地的工具 通过网页下载器将互联网中的url网页,存储到本地或内存字符串 python有哪几种网页下载器? 1.urllib2 python官方基础模块 ...
随机推荐
- PHP MySQL 创建数据库
PHP MySQL 创建数据库 数据库存有一个或多个表. 你需要 CREATE 权限来创建或删除 MySQL 数据库. 使用 MySQLi 和 PDO 创建 MySQL 数据库 CREATE DATA ...
- C# trace debug TraceListener调试信息详解
在C#编程中,可能要碰到把调试信息输出的问题,我们可以自己把信息显示在某个控件上,但是MS自己提供了一套机制帮助我们输出一些调试信息,这些信息有助于我们判断程序的走向,不用自己再去额外写调试代码了. ...
- 关于idea激活
1.在线激活 https://www.iteblog.com/idea/ 使用可访问:http://idea.iteblog.com/ 或者 http://idea.lanyus.com/ ht ...
- I/O复用-select模型
IO复用: I/O复用使得程序可以同时监听多个文件描述符,这对提高程序的性能至关重要.例如TCP服务器要同时处理监听socket和连接socket,客户端要同时处理用户输入和网络连接. Linux下实 ...
- 【USACO 1.2.4】回文平方数
[题目描述] 回文数是指从左向右念和从右向左念都一样的数.如12321就是一个典型的回文数. 给定一个进制B(2<=B<=20,由十进制表示),输出所有的大于等于1小于等于300(十进制下 ...
- 基于VC的串行通信技术应用实例
在工业控制中,串口是常用的计算机与外部串行设备之间的数据传输通道,由于串行通信方便易行,所以应用广泛. 本文将介绍在Windows平台下串行通信的工作机制和用Visual C++设计串行通信程序的 ...
- 【jquery学习笔记】关于$(window),$("html,body").scroll()的在不同浏览器的不同反应
已经很几次碰到了这种问题, 例子: $(window).scroll(function(){ var num=$(window).scrollTop(); //之前的写法是$ ...
- Freemarket学习笔记(一)
一.常用三个指令 1.if指令 a.<#if condition></#if> b.<#if condition><#else></#if> ...
- COUNT()函数的使用
COUNT函数 让我们能够数出在表格中有多少笔资料被选出来.它的语法是: SELECT COUNT("栏位名") FROM "表格名" 举例来说, ...
- 一、UITableView的属性
一.UITableView的属性 NSIndexPath类型是用来获取用户选择的indexPath,在别的函数里面,若需要知道用户选择了哪个cell,用上它可以省事很多.不必再去建全局变量sectio ...