高朗 HTML解析器

包goquery实现了与jQuery类似的功能,包括可链接的语法,以操纵和查询HTML文档。

它为Go语言带来了类似于jQuery的语法和一组功能。它基于Go的net / html包和CSS Selector库cascadia。在语法上,它尽可能接近jQuery,并在可能的情况下使用相同的方法名称,并且具有温暖而模糊的可链接接口。

它托管在GitHub上,以及README.md文件中的其他文档: //github.com/puerkitobio/goquery

安装

go get github.com/PuerkitoBio/goquery

示例-1

package main

import (
	"fmt"
	"log"
	"net/http"

	"github.com/PuerkitoBio/goquery"
)

func ExampleScrape() {
	// Request the HTML page.
	res, err := http.Get("//stackoverflow.com/questions/tagged/javascript")
	if err != nil {
		log.Fatal(err)
	}
	defer res.Body.Close()
	if res.StatusCode != 200 {
		log.Fatalf("status code error: %d %s", res.StatusCode, res.Status)
	}

	// Load the HTML document
	doc, err := goquery.NewDocumentFromReader(res.Body)
	if err != nil {
		log.Fatal(err)
	}

	// Find the review items
	doc.Find(".question-summary .summary").Each(func(i int, s *goquery.Selection) {
		title := s.Find("H3").Text()
		fmt.Println(i, title)
	})
}

func main() {
	ExampleScrape()
}

示例-2

package main

import (
	"fmt"
	"log"

	"github.com/PuerkitoBio/goquery"
)

type Earthquake struct {
	Timestamp string
	Latitide  string
	Longitude string
	Magnitudo string
	Depth     string
	Territory string
}

var arrayEarthquake []Earthquake

func postScrape() {
	doc, err := goquery.NewDocument("http://www.bmkg.go.id/gempabumi/gempabumi-terkini.bmkg")
	if err != nil {
		log.Fatal(err)
	}

	doc.Find("tbody tr").Each(func(_ int, tr *goquery.Selection) {

		e := Earthquake{}

		tr.Find("td").Each(func(ix int, td *goquery.Selection) {
			switch ix {
			case 1:
				e.Timestamp = td.Text()
			case 2:
				e.Latitide = td.Text()
			case 3:
				e.Longitude = td.Text()
			case 4:
				e.Magnitudo = td.Text()
			case 5:
				e.Depth = td.Text()
			case 6:
				e.Territory = td.Text()
			}
		})

		arrayEarthquake = append(arrayEarthquake, e)
	})

	fmt.Println(arrayEarthquake)
}

func main() {
	postScrape()
}

您必须阅读的解决方案

进行结构和现场验证示例

包验证器基于标签对结构和各个字段实现值验证。通过使用验证标签或自定义验证程序,它具有以下用于跨字段和跨结构验证的独特功能。切片,阵列和地图潜水,这可以验证多维字段的任何或所有级别。能够深入了解映射键和值以进行验证。 Source Code

彩票中心下载中的动态JSON

Gabs是一个小型实用程序,用于处理Go中的动态或未知JSON结构。它不需要您知道有效负载的结构(例如,创建结构),并且可以通过提供指向它们的路径来访问字段。它几乎只是一个有用的包装,用于导航由encoding / json包提供的map [string] interface {}对象的层次结构。除了出色之外,它没有任何壮观的东西。 Source Code

彩票中心下载数据时间工具包

现在,这是一个非常简单的程序包,它为标准时间程序包提供了方便的包装,并使得在当前时间使用各种日期和时间构造变得容易。 它托管在GitHub上,以及README.md文件中的其他文档: //github.com/jinzhu/now

最佳组合清单

Go标准库提供了几个可供gopher使用的软件包,以解决他们经常遇到的与编程有关的各种问题。 除了核心程序包,还有一些第三方程序包,对地鼠很有用。而且,大多数这些软件包都是开源的,可以免费使用。因此,让我们检查一些重要的第三方Go软件包,这些软件包对于gopher从事各种项目很有用。该列表包含用于验证,JSON / XML / HTML解析,统计计算等的流行Go软件包。还为其中一些提供了简单的示例。

彩票中心下载 Chart Package

打包图表是一个非常简单的golang本机图表库,它支持时间序列图和连续线图。 它托管在GitHub上,以及README.md文件中的其他文档: //github.com/wcharczuk/go-chart

Go Slice Map Filter

一个现代的Go实用程序库,提供了辅助功能。 此辅助函数可以解决常见的问题,例如删除切片中的所有重复项,获取两个集合之间的差异,用值填充数组元素,获取两个集合之间的交集等。消费者尽可能容易和灵活。 Source Code

彩票中心下载统计软件包

该软件包提供用于计算数字数据的数学统计量的功能。即使您的数据集太大,也可以使用它。该软件包不能依赖于导入其他模块或软件包或库。您可以获取常用的统计函数,例如平均值,中位数,标准差,方差,相关性,和均值等。 Source Code

CommonRegex 高朗软件包以及示例

这是经常使用的正则表达式的集合。它提供了这些简单功能来获取与特定模式相对应的匹配字符串。这有助于查找字符串中的所有时间,日期,链接,电话号码,电子邮件,ip地址,价格,十六进制颜色和信用卡号。包开发人员做了艰苦的工作,所以我们不必这样做。 Source Code

彩票中心下载动态XML解析器

xmlquery是用于XML文档的XPath查询包,可让您通过XPath表达式从XML文档提取数据或求值。 它托管在GitHub上,以及README.md文件中的其他文档: //github.com/antchfx/xmlquery

Go的简单图像处理包

包装成像提供基本的图像处理功能(调整大小,旋转,裁剪,亮度/对比度调整等)。软件包提供的所有图像处理功能均接受任何实现image.Image接口的图像类型作为输入,并返回* image.NRGBA类型的新图像(32位RGBA颜色,未预乘alpha)。 Source Code