awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
gnemoug avatar

gnemoug/distribute_crawler

0
View on GitHub↗
3,243 stars·1,562 forks·Python·24 views

Distribute Crawler

Distribute crawler is a distributed web scraping framework that integrates with Scrapy to coordinate multiple crawler instances across clusters. It utilizes a centralized task queue to manage and scale concurrent data collection operations, enabling horizontal scaling of scraping tasks across multiple worker nodes.

The framework distinguishes itself through its focus on large-scale data management and traffic control. It persists scraped items and binary assets into document-oriented database clusters, utilizing deduplication logic to optimize bandwidth and storage. To maintain consistent data collection from protected sources, it employs automated anti-blocking strategies, including request identity rotation, dynamic velocity throttling, and concurrency adjustments based on target site responsiveness.

The system includes comprehensive infrastructure for operational oversight, featuring real-time performance monitoring and metric aggregation. It supports a modular request pipeline that allows for the injection of custom headers and behavior management during the crawling process.

Features

  • Distributed Web Crawling - Provides a distributed web scraping framework that scales data collection across multiple nodes using centralized task queues.
  • Horizontal Crawler Scaling - Coordinates multiple crawler nodes by distributing work items through a centralized Redis queue for horizontal scaling.
  • Redis-Backed Queues - Uses Redis as a centralized message broker to manage and scale concurrent crawling tasks across worker nodes.
  • Scrapy-Framework-Based Crawlers - Integrates the Scrapy framework with Redis to build high-performance, distributed crawling architectures.
  • MongoDB Persistence - Persists scraped items and binary assets into sharded MongoDB clusters for high-volume data management.
  • NoSQL Data Modeling - Utilizes NoSQL document-oriented storage to handle large volumes of scraped data with flexible schemas.
  • Bloom Filters - Uses probabilistic membership testing to track visited pages and prevent redundant processing.
  • Scraped Data Persistence - Maps extracted web content directly into flexible document-oriented database schemas for scalable storage.
  • Network Throttling - Dynamically adjusts request transmission rates and download delays based on real-time network latency and target server responsiveness.
  • Anti-Blocking Configurations - Configures anti-blocking strategies like user-agent rotation and cached page access to maintain consistent data collection.
  • Proxy and User-Agent Rotation Middleware - Implements middleware that automatically rotates user-agent strings and manages cookies to bypass anti-scraping protections during data collection.
  • Deduplicated Downloaders - Fetches remote files while verifying content against a database to avoid redundant downloads and save bandwidth.
  • Asynchronous Event Loops - Implements a non-blocking event loop to manage concurrent network I/O and data processing tasks efficiently.
  • Time-Series Monitoring Systems - Aggregates and exports operational performance metrics to external monitoring systems for real-time health visualization.
  • Real-time Performance Monitoring - Integrates with monitoring systems to track real-time crawling metrics and operational health.
  • Concurrent Target Managers - Dynamically adjusts request concurrency based on target site responsiveness to maintain stable throughput.
  • Request Middleware Pipelines - Provides a modular pipeline for intercepting and modifying outgoing network requests with custom headers and concurrency logic.
  • Anti-Detection Automations - Employs automated strategies like identity rotation and velocity throttling to bypass site-specific scraping protections.
  • Crawler Health Monitoring - Tracks operational status and performance metrics to visualize the health of scraping processes.

Star history

Star history chart for gnemoug/distribute_crawlerStar history chart for gnemoug/distribute_crawler

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Distribute Crawler

These projects share indexed features with Distribute Crawler. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • rolando/scrapy-redisrolando avatar

    rolando/scrapy-redis

    5,639View on GitHub↗

    This project is a distributed web crawling framework that enables the horizontal scaling of scraping tasks. It uses Redis as a centralized request queue manager and state store to coordinate crawl progress and request metadata across multiple server instances. The system distributes crawling workloads by sharing a single request queue and utilizes a distributed duplicate filter to prevent multiple workers from visiting the same page. It persists complex request state and metadata as JSON strings within the shared remote store. The framework also provides capabilities for distributed data pro

    Python
    View on GitHub↗5,639
  • spiderclub/haipproxySpiderClub avatar

    SpiderClub/haipproxy

    5,535View on GitHub↗

    Haipproxy is a high-availability proxy gateway and distributed proxy pool manager. It consists of a system for storing and rotating verified IP proxy addresses using Redis, a web crawling system to discover anonymous proxies from public sources, and a validation engine that checks proxy functionality against specific target domains. The project implements a middleware layer that provides a stable entry point for requests by automatically rotating backend IP addresses. This includes a local proxy server that acts as a bridge between the client and the pool, decoupling the two by updating inter

    Pythoncrawlerdistributedhigh-availability
    View on GitHub↗5,535
  • apache/kvrocksapache avatar

    apache/kvrocks

    4,338View on GitHub↗

    Kvrocks is a distributed key-value store and Redis-compatible NoSQL database. It utilizes a RocksDB storage engine to provide disk-based persistence, allowing for high-capacity data storage with reduced memory costs compared to in-memory systems. The system functions as a vector database and full-text search engine, supporting nearest-neighbor searches on vector embeddings and complex document queries via text matching. It employs a proxyless cluster architecture with slot-based routing to distribute data and scale capacity across multiple nodes. The platform covers a wide range of data mana

    C++databasedistributedkv
    View on GitHub↗4,338
  • bee-queue/bee-queuebee-queue avatar

    bee-queue/bee-queue

    4,032View on GitHub↗

    Bee-queue is a Node.js background processing system that uses Redis for job queueing and persistence. It is designed to offload heavy tasks from the main execution thread to background workers to maintain application responsiveness. The project provides distributed job processing, allowing worker nodes to run across multiple processes to handle large volumes of tasks concurrently. It ensures reliable task execution through automatic retries and the recovery of stalled processes. Its capability surface covers asynchronous task scheduling for delayed jobs, concurrency control for worker nodes,

    JavaScriptbee-queuejob-queuejob-scheduler
    View on GitHub↗4,032
Compare all 30 related projects→

Frequently asked questions

What does gnemoug/distribute_crawler do?

Distribute crawler is a distributed web scraping framework that integrates with Scrapy to coordinate multiple crawler instances across clusters. It utilizes a centralized task queue to manage and scale concurrent data collection operations, enabling horizontal scaling of scraping tasks across multiple worker nodes.

What are the main features of gnemoug/distribute_crawler?

The main features of gnemoug/distribute_crawler are: Distributed Web Crawling, Horizontal Crawler Scaling, Redis-Backed Queues, Scrapy-Framework-Based Crawlers, MongoDB Persistence, NoSQL Data Modeling, Bloom Filters, Scraped Data Persistence.

Which projects share features with gnemoug/distribute_crawler?

Projects with overlapping indexed features include: rolando/scrapy-redis — This project is a distributed web crawling framework that enables the horizontal scaling of scraping tasks. It uses… spiderclub/haipproxy — Haipproxy is a high-availability proxy gateway and distributed proxy pool manager. It consists of a system for storing… apache/kvrocks — Kvrocks is a distributed key-value store and Redis-compatible NoSQL database. It utilizes a RocksDB storage engine to… mperham/sidekiq — Sidekiq is a Ruby background processing framework and asynchronous task runner. It functions as a Redis-backed… jrallison/go-workers — Go-workers is a background job processor for Go applications that coordinates asynchronous task execution using Redis… bee-queue/bee-queue — Bee-queue is a Node.js background processing system that uses Redis for job queueing and persistence. It is designed…

Curated searches featuring Distribute Crawler

Hand-picked collections where Distribute Crawler appears.
  • Distributed Web Crawlers
  • a web scraping tool for data extraction