当前位置: 首页 > 编程笔记 >

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

张权
2023-03-14
本文向大家介绍Go语言通过http抓取网页的方法,包括了Go语言通过http抓取网页的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了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语言程序设计有所帮助。

 类似资料:
  • 问题内容: 对于公司项目,我需要使用PHP和JavaScript(包括jQuery)创建一个Web抓取应用程序,该应用程序将从客户网站的每个页面提取特定数据。抓取应用需要为每个页面获取两种类型的数据:1)确定是否存在具有特定ID的某些HTML元素,以及2)提取特定JavaScript变量的值。每个页面上的JS变量名称都相同,但是值通常不同。 我相信我知道如何获得第一个数据要求:使用PHP file

  • 问题内容: [我想做的事] 刮擦下面的网页以获取二手车数据。 http://www.goo- net.com/php/search/summary.php?price_range=&pref_c=08,09,10,11,12,13,14&easysearch_flg=1 [问题] 刮整个页面。在上面的网址中,仅显示前30个项目。我可以在下面编写的代码中删除这些内容。指向其他页面的链接显示为1 2

  • 本文向大家介绍go语言通过zlib压缩数据的方法,包括了go语言通过zlib压缩数据的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了go语言通过zlib压缩数据的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Go语言程序设计有所帮助。

  • 本文向大家介绍易语言爬取网页内容方法,包括了易语言爬取网页内容方法的使用技巧和注意事项,需要的朋友参考一下 写个辅助工具的时候需要提取网页里面的某些内容,我这里便把方法告诉大家,希望对大家有所帮助,记得投票给我哦! 1、在新建的windos窗口程序中画: 两个编辑框、一个按钮。 再添加模块如图中三步! 我们来实现,在一个编辑框中输入网址后,点击按钮,然后取到指定内容到编辑框2中。 2、比如我们来取

  • 我是python新手,正在尝试从以下站点获取数据。虽然这段代码适用于不同的站点,但我无法让它适用于nextgen stats。有人想知道为什么吗?下面是我的代码和我得到的错误 下面是我得到的错误 df11=pd。读取html(urlwk1)回溯(上次调用):文件“”,第1行,在文件“C:\Users\USERX\AppData\Local\Packages\PythonSoftwareFounda

  • 我需要从一个网站刮数据,有一个隐藏的div不显示,直到你点击一个按钮在网站上。当我使用代码获取html内容时,即使在“Inspect”中可以看到隐藏的div数据,也无法获取隐藏的div内容 url、代码和隐藏DIV的详细信息如下: