andeya/pholcus

Pholcus is a distributed high-concurrency crawler software written in pure golang

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 35 minutes ago
Added to GitGenius on September 8th, 2026
Created on July 3rd, 2015
Open Issues & Pull Requests: 3 (+0)
GitHub issues: Enabled
Number of forks: 1,666
Total Stargazers: 7,578 (+0)
Total Subscribers: 442 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

Pholcus is a distributed web crawler framework written in pure Go that handles high-concurrency data collection tasks.

The tool addresses the need to scrape web content at scale by providing three execution modes: standalone for immediate use, server mode for task distribution, and client mode for task execution. It supports multiple download engines including a high-concurrency HTTP client, PhantomJS, and headless Chrome for JavaScript-heavy sites. Data extraction rules can be written as compiled Go code for performance or as dynamic JavaScript/XML rules that load without recompilation. The framework handles common crawling challenges through intelligent cookie management, proxy IP rotation, random delays to simulate human behavior, automatic deduplication, retry logic, and persistent progress tracking for resumable crawls.

Developers should choose this tool if they need distributed crawling with fine-grained control over concurrency and output formats. It suits projects requiring multiple data destinations—MySQL, MongoDB, Kafka, Beanstalkd, CSV, or Excel—and those needing flexible rule definition. The tool provides three interfaces: a web UI for cross-platform browser control, a native Windows GUI, and command-line access for batch scheduling. The README includes over thirty built-in example rules to accelerate development.

The project shows active maintenance with regular updates addressing Go version compatibility and framework improvements. Development focuses on expanding engine capabilities and refining the distributed communication layer, with particular attention to supporting modern browser automation through Chrome integration. The codebase demonstrates ongoing refinement of core features like cookie handling, proxy management, and the full-duplex socket framework for distributed communication.