Github每日精选(第75期):colly 爬取网站所有的数据

colly

colly 是一个优雅的 Golang 爬虫框架。

colly 提供了一个干净的接口来编写任何类型的爬虫/scraper/spider

使用 Colly,您可以轻松地从网站中提取结构化数据,这些数据可用于广泛的应用,如数据挖掘、数据处理或存档。

github上的地址在这里。

Github每日精选(第75期):colly 爬取网站所有的数据_第1张图片

特点

  • 清洁 API
  • 快速(在单核上 > 1k 请求/秒)
  • 管理每个域的请求延迟和最大并发
  • 自动 cookie 和会话处理
  • 同步/异步/并行抓取
  • 缓存
  • 非 unicode 响应的自动编码
  • Robots.txt 支持
  • 分布式抓取
  • 通过环境变量配置
  • 扩展

安装

在控制台中输入:

go get -u github.com/gocolly/colly

实例

对于一个爬取网站的程序,需要注意几点东西,程序能够自动的获取该爬取的网站,不断的探测下去,把整个网站都全部爬取完成。

这是一一个简单的爬取qq.com的代码。

package main

import (
	"fmt"

	"github.com/gocolly/colly"
)

func main() {
	c := colly.NewCollector()

	c.OnHTML("a[href]", func(e *colly.HTMLElement) {
		fmt.Println(e.Attr("href"))
		if e.Attr("href") == "/" {
			e.Request.Visit(e.Attr("href"))
		}

	})

	c.OnRequest(func(r *colly.Request) {
		fmt.Println("Visiting", r.URL)
	})

	c.Visit("https://www.qq.com/")

	fmt.Println()
}

你可能感兴趣的:(golang语言开发,Github每日精选,python,爬虫,开发语言)