Profile
Back to NewsBack
GitHub Trending 3 min
Reader Mode
gocolly/colly: Elegant Scraper and Crawler Framework for Golang

gocolly/colly: Elegant Scraper and Crawler Framework for Golang

4 hours ago

Colly

Lightning Fast and Elegant Scraping Framework for Gophers

Colly provides a clean interface to write any kind of crawler/scraper/spider.

With Colly you can easily extract structured data from websites, which can be used for a wide range of applications, like data mining, data processing or archiving.

GoDoc</a> Backers on Open Collective</a> Sponsors on Open Collective</a> build status</a> report card</a> view examples</a> Code Coverage</a> FOSSA Status</a> Twitter URL</a>

Sponsors

NodeMaven: The most efficient proxy provider for Web Scrapping and Automation with the Highest Quality IP on the market.

Why NodeMaven?

  • 99.9% uptime
  • ZIP Targeting
  • IP filtering: all proxies have fraud score <97%
  • No KYC required
  • Unique free tools: Proxy Bandwidth Checker, Meta Tag Checker, IP Lookup and others!
Special codes for Colly users:
  • COLLY35 - 35% off to Mobile and Residential Proxies
  • COLLY40 - 40% off to ISP (Static) Proxies
NodeMaven</a>

SerpApi: Web Search API for your AI apps

Access real-time data from search engines such as Google, Bing, YouTube, Amazon, and more in structured JSON or Markdown results via a simple API

SerpApi</a>

Features

  • Clean API
  • Fast (>1k request/sec on a single core)
  • Manages request delays and maximum concurrency per domain
  • Automatic cookie and session handling
  • Sync/async/parallel scraping
  • Caching
  • Automatic encoding of non-unicode responses
  • Robots.txt support
  • Distributed scraping
  • Configuration via environment variables
  • Extensions

Example

import (
	"fmt"

"github.com/gocolly/colly/v2" )

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

// Find and visit all links c.OnHTML("a[href]", func(e *colly.HTMLElement) { e.Request.Visit(e.Attr("href")) })

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

c.Visit("http://go-colly.org/") }

See examples folder for more detailed examples.

Installation

go get github.com/gocolly/colly/v2

Bugs

Bugs or suggestions? Visit the issue tracker or join #colly on freenode

Other Projects Using Colly

Below is a list of public, open source projects that use Colly:

If you are using Colly in a project please send a pull request to add it to the list.

Contributors

This project exists thanks to all the people who contribute. [[Contribute]](CONTRIBUTING.md).

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

License

FOSSA Status</a>

Chat with me