A high-performance Go package and self-hosted interface for scraping, crawling, and structured data extraction. Built for developers who want full control.
Drop into any Go project. Start scraping in minutes with a clean, expressive API.
package main import ( "fmt" "time" "github.com/harshitbansal184507/CrawlScraper/pkg/scraper" ) func main() { s := scraper.New(scraper.DefaultConfig()) start := time.Now() result, _ := s.ScrapeURL("https://example.com") time_taken := time.Since(start) fmt.Println("Time taken for scraping :", time_taken) if result.Status == "success" { fmt.Printf("Title: %s\n", result.Data.Title) fmt.Printf("Paragraphs: %d\n", len(result.Data.Paragraphs)) fmt.Printf("Images: %d\n", result.Data.Images) } }
Built on Go's concurrency model for fast, reliable data extraction at scale.
Leverage Go's goroutines for blazing-fast parallel scraping. Scrape hundreds of pages simultaneously.
Set custom HTTP headers, user agents, cookies, and authentication for any target site or API.
A full visual UI for managing scraping jobs, viewing results, and scheduling tasks — running on your own server.
A single Go module, dead simple to integrate.
Fork the repo and clone your fork locally.
git clone https://github.com/YOUR_USERNAME/CrawlScraper.git
Download all Go module dependencies.
go mod download
Test with the example file. Change the URL as needed.
go run examples/example_single_url.go
Thanks for your interest in contributing! Every bug fix, feature, and doc improvement makes a difference.
Check existing issues first. If it's new, open one with what happened, what you expected, and a code snippet to reproduce it.
Open an issue to discuss it first. Get feedback from the community before starting, then submit a PR when ready.
Fix typos, add examples, clarify confusing parts. Documentation PRs are always welcome and highly appreciated.
Star the project, try it out, and become a part of the community.