• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    golang抓取网页并分析页面包含的链接方法

    1. 下载非标准的包,"golang.org/x/net/html"

    2. 先安装git,使用git命令下载

    git clone https://github.com/golang/net

    3. 将net包,放到GOROOT路径下

    比如:

    我的是:GOROOT = E:\go\

    所以最终目录是:E:\go\src\golang.org\x\net

    注意:如果没有golang.org和x文件夹,就创建

    4. 创建fetch目录,在其下创建main.go文件,main.go文件代码内容如下:

    package main
     
    import (
     "os"
     "net/http"
     "fmt"
     "io/ioutil"
    )
     
    func main() {
     for _, url := range os.Args[1:] {
     resp, err := http.Get(url)
     if err != nil {
      fmt.Fprintf(os.Stderr, "fetch: %v\n", err)
     }
     b, err := ioutil.ReadAll(resp.Body)
     resp.Body.Close()
     if err != nil {
      fmt.Fprintf(os.Stderr, "fetch: reading %s: %v\n", url, err)
      os.Exit(1)
     }
     fmt.Printf("%s",b)
     }
    }

    5. 编译fetch

    go build test.com\justin\demo\fetch

    注意:test.com\justin\demo\ 是我的项目路径,具体编译根据自己项目路径编译。

    6. 执行fetch.exe 文件

    fetch.exe https://www.qq.com

    注意:https://www.qq.com是要爬的网址,配置正确的话,会打印出网址的HTML内容。如果没有,请检查以上步骤是否正确。

    7. 网页已经抓取了,那么剩下就分析页面包含的链接了,创建findlinks目录,在其下创建main.go文件,main.go文件代码内容如下:

    package main
     
    import (
     "os"
     "fmt"
     "golang.org/x/net/html"
    )
     
    func main() {
     doc, err := html.Parse(os.Stdin)
     if err != nil {
     fmt.Fprint(os.Stderr, "findlinks: %v\n", err)
     os.Exit(1)
     }
     for _, link := range visit(nil, doc) {
     fmt.Println(link)
     }
    }
     
    func visit(links []string, n *html.Node) []string {
     if n.Type == html.ElementNode  n.Data == "a" {
     for _, a := range n.Attr {
      if a.Key == "href" {
      links = append(links, a.Val)
      }
     }
     }
     for c := n.FirstChild; c != nil; c = c.NextSibling {
     links = visit(links, c)
     }
     return links
    }

    8. 编译findlinks

    go build test.com\justin\demo\findlinks

    注意:test.com\justin\demo\ 是我的项目路径,具体编译根据自己项目路径编译。

    9. 执行findlinks.exe 文件

    fetch.exe https://www.qq.com | findlinks.exe

    > 10. 执行后结果:获取到各种不同形式的超链接

    以上这篇golang抓取网页并分析页面包含的链接方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • Go语言通过http抓取网页的方法
    • go语言实现一个简单的http客户端抓取远程url的方法
    • golang如何实现抓取IP地址的蜘蛛程序详解
    上一篇:golang解析html网页的方法
    下一篇:Go 结构体、数组、字典和 json 字符串的相互转换方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    golang抓取网页并分析页面包含的链接方法 golang,抓取,网页,并,分析,