700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 获取网页html内容

获取网页html内容

时间:2020-07-02 11:57:05

相关推荐

获取网页html内容

获取网页html内容

一、前言:转载地址

今天写个简单的程序,根据指定的 URL 来抓取相应的网页内容,然后存入本地文件。这个程序会涉及到网络请求和文件操作等知识点,下面是实现代码:

二、代码

package mainimport ("fmt""io/ioutil""net/http""os")func main() {//待获取的网页数据//url := os.Args[1]url := "/qq_36025814/article/details/85061666"// 根据URL获取资源res, err := http.Get(url)if err != nil {fmt.Fprintf(os.Stderr, "fetch: %v\n", err)os.Exit(1)}// 读取资源数据 body: []bytebody, err := ioutil.ReadAll(res.Body)// 关闭资源流res.Body.Close()if err != nil {fmt.Fprintf(os.Stderr, "fetch: reading %s: %v\n", url, err)os.Exit(1)}// 控制台打印内容 以下两种方法等同fmt.Printf("%s", body)fmt.Printf(string(body))// 写入文件ioutil.WriteFile("site.txt", body, 0644)}

三、代码说明

上面的代码中,我们引入了 net/http 网络包,然后调用 http.Get(url) 方法获取 URL 对应的资源,之后读取出资源数据,然后在控制台打印,并将内容写入到本地文件中。

需要注意的是,在读取资源数据完毕后,应该及时将资源流关闭,避免出现内存资源的泄露。

另外,在处理异常时,我们使用了 fm.Fprintf() 这个方法,它是格式化三大方法之一:

Printf: 格式化字符串并输出到 os.Stdout 中。Fprintf: 格式化字符串并输出到指定文件设备中,所以参数比 Printf 多一个文件指针 FILE*。Sprintf: 格式化字符串并输出到指定字符串中,所以参数比 Printf 多一个 char*,那就是目标字符串地址。

四、运行完程序,在当前目录中会生成一个 site.txt 文件。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。