Go语言通过http抓取网页的方法_Golang

本文实例讲述了Go语言通过http抓取网页的方法。分享给大家供大家参考。具体实现方法如下:

复制代码 代码如下:

package main
import (
 "fmt"
 "log"
 "net/http"
 "net/url"
 "io/ioutil"
)
//指定代理ip
func getTransportFieldURL(proxy_addr *string) (transport *http.Transport) {
 url_i := url.URL{}
 url_proxy, _ := url_i.Parse(*proxy_addr)
 transport = &http.Transport{Proxy : http.ProxyURL(url_proxy)}
 return
}
//从环境变量$http_proxy或$HTTP_PROXY中获取HTTP代理地址
func getTransportFromEnvironment() (transport *http.Transport) {
 transport = &http.Transport{Proxy : http.ProxyFromEnvironment}
 return
}
func fetch(url , proxy_addr *string) (html string) {
 transport := getTransportFieldURL(proxy_addr)
 client := &http.Client{Transport : transport}
 req, err := http.NewRequest("GET", *url, nil)
 if err != nil {
  log.Fatal(err.Error())
 }
 resp, err := client.Do(req)
 if err != nil {
  log.Fatal(err.Error())
 }
 if resp.StatusCode == 200 {
  robots, err := ioutil.ReadAll(resp.Body);
  resp.Body.Close()
  if err != nil {
   log.Fatal(err.Error())
  }
  html = string(robots);
 } else {
  html = ""
 }
 return
}
func main() {
 proxy_addr := "http://183.221.250.137:80/"
 url := "http://www.baidu.com/s?wd=ip"
 html := fetch(&url, &proxy_addr)
 fmt.Println(html)
}

希望本文所述对大家的Go语言程序设计有所帮助。

时间: 2024-09-12 19:51:15

Go语言通过http抓取网页的方法_Golang的相关文章

python使用自定义user-agent抓取网页的方法_python

本文实例讲述了python使用自定义user-agent抓取网页的方法.分享给大家供大家参考.具体如下: 下面python代码通过urllib2抓取指定的url的内容,并且使用自定义的user-agent,可防止网站屏蔽采集器 import urllib2 req = urllib2.Request('http://192.168.1.2/') req.add_header('User-agent', 'Mozilla 5.10') res = urllib2.urlopen(req) html

c语言抓取网页数据的问题

问题描述 c语言抓取网页数据的问题 现有一固定网址,我需要从该网址上获取数据并拆分.希望大神能帮我实现,本人并无此类经验,请务必写出完整代码,多谢多谢 解决方案 (C语言)ACM中的数据处理问题!C语言数据转换问题C语言一维数据中2[arry]问题 解决方案二: (C语言)ACM中的数据处理问题! C语言数据转换问题 C语言一维数据中2[arry]问题 解决方案三: http://blog.chinaunix.net/uid-9950859-id-98922.htmlhttp://bbs.csd

php中如何抓取网页图片

PHP是一门很容易上手的Web编程语言.PHP学习成本很低,能够迅速开发各种Web应用,是一个很优秀的工具. 尽管很多人觉得PHP缺点很多,quick and dirty 之类的,但是"这个世界上只有两种编程语言,一种是饱受争议的,一种是没人用的",不是吗?只要能够把事情做好的工具,就是好工具.PHP就是这么一个优秀的语言工具. 01.<?php 02.header('content-type:text/html;charset=utf-8');03. set_time_limi

用Python编写网络爬虫(一):抓取网页的含义和URL基本构成

一.网络爬虫的定义 网络爬虫,即Web Spider,是一个很形象的名字. 把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛. 网络蜘蛛是通过网页的链接地址来寻找网页的. 从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址, 然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止. 如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来. 这样看来,网络爬虫就是一个爬行程序,一个抓

python抓取网页图片

# -*- coding: utf-8 -*- #--------------------------------------- # 程序:网页图片抓取 # 作者:lqf # 日期:2013-08-10 # 语言:Python 2.7 # 功能:抓取网页jpg链接图片 #--------------------------------------- import re import string import sys import os import urllib url="http://tie

PHP使用CURL实现多线程抓取网页_php技巧

PHP 利用 Curl Functions 可以完成各种传送文件操作,比如模拟浏览器发送GET,POST请求等等,受限于php语言本身不支持多线程,所以开发爬虫程序效率并不高,这时候往往需 要借助Curl Multi Functions 它可以实现并发多线程的访问多个url地址.既然 Curl Multi Function如此强大,能否用 Curl Multi Functions 来写并发多线程下载文件呢,当然可以,下面给出我的代码: 代码1:将获得的代码直接写入某个文件 <?php $urls

php curl实现多线程抓取网页并同时下载图片

php语言本身不支持多线程,所以开发爬虫程序效率并不高,借助Curl Multi 它可以实现并发多线程的访问多个url地址.用 Curl Multi 多线程下载文件代码: 代码1:将获得的代码直接写入某个文件 <?php $urls =array(   'http://www.111cn.net/',   'http://www.baidu.com/',  );// 设置要抓取的页面URL       $save_to='test.txt';  // 把抓取的代码写入该文件      $st =

百度抓取网页文件规则最大125K

百度的名字寄托着百度公司对自身技术的信心,另一层含义就是突破"事儿做到九十九度就是做到头"的西方说法,百度就是想要力争做到一百度,做到顶上开花的境界. 百度公司不同于一般意义上的网络公司.它既不是着眼于互联网内容的提供,也不是门户网站,而是一家立足于自主掌握并提供互联网核心技术的技术型公司.在中国互联网经济迅猛发展的今天,百度公司结合世界先进的网络技术.中国语言特色以及中国互联网经济发展的现状,开发出了中国互联网信息检索和传递基础设施平台,并且运用最先进的商业模式,直接为整个中国的互联

PHP抓取网页、解析HTML常用的方法总结

  这篇文章主要介绍了PHP抓取网页.解析HTML常用的方法总结,本文只是对可以实现这两个需求的方法作了总结,只介绍方法,不介绍如何实现,需要的朋友可以参考下 概述 爬虫是我们在做程序时经常会遇到的一种功能.PHP有许多开源的爬虫工具,如snoopy,这些开源的爬虫工具,通常能帮我们完成大部分功能,但是在某种情况下,我们需要自己实现一个爬虫,本篇文章对PHP实现爬虫的方式做个总结. PHP实现爬虫主要方法 1.file()函数 2.file_get_contents()函数 3.fopen()-