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
yasserg avatar

yasserg/crawler4j

0
View on GitHub↗
4,622 stars·1,905 forks·Java·Apache-2.0·12 views

Crawler4j

Crawler4j is a multi-threaded Java web crawler and spider designed for high-volume web traversal and content extraction. It functions as a polite crawling framework that enables the discovery and indexing of HTML and binary content across multiple websites.

The project distinguishes itself through a persistent crawling model that serializes session state to local storage, allowing the engine to resume indexing after a crash or interruption. It includes a politeness controller to regulate request frequency and delays, preventing server overloading and IP blocking.

The system covers a broad range of traversal capabilities, including depth-limited scope management, target filtering, and request interception for custom user agents and proxy routing. Data storage is handled via a repository pattern that decouples crawling logic from the persistence of page metadata in relational databases.

Features

  • Web Traversal Engines - Ships a multi-threaded engine for high-throughput web traversal and content extraction.
  • Multi-Threaded Web Traversal - Uses a multi-threaded engine to concurrently fetch and process multiple web pages for high-throughput indexing.
  • Crawl Progress Persisters - Serializes crawl progress and frontier data to local storage to enable session recovery after interruptions.
  • Web Spiders - Acts as a high-volume discovery tool that follows links to fetch HTML and binary content.
  • Crawl Target Filtering - Implements custom logic to determine which URLs to visit based on domain restrictions and file type exclusions.
  • Web Crawlers - Provides a persistent crawler that saves session state to resume indexing after interruptions.
  • Web Data Extraction - Automates the fetching of HTML and binary files to extract structured data for storage.
  • Crawl Depth Limiters - Includes a depth-limiting mechanism to control the scale of web traversal and manage resources.
  • Crawl Scope Management - Provides mechanisms to set limits on crawl depth and the total number of pages fetched to manage resources.
  • Crawl Politeness Controllers - Implements a politeness controller to regulate request frequency and prevent server overloading.
  • Crawl State Recovery - Persists the crawl state to local folders to allow resuming from a specific point after a crash.
  • Crawling Request Throttlers - Implements a politeness controller that regulates request frequency and adds delays to prevent server overloading.
  • Web Crawling - Provides a multi-threaded system designed for large-scale discovery and indexing of web content.
  • Web Content Harvesting - Provides a framework for automated web harvesting while managing request rates to avoid overloading servers.
  • Web Crawlers - Implements a multi-threaded web crawler engine using the Java programming language.
  • Web Crawling Frameworks - Functions as a polite crawling framework that regulates request rates to avoid server overloading.
  • Relational Database Storage - Supports persisting captured page content and metadata into relational databases.
  • Fetch Control Policies - Provides control over whether to follow redirects, include encrypted pages, or process specific content types.
  • Search & Indexing Engines - Traverses the web to collect pages for a searchable directory or index using custom filters.
  • Web Scrapers - Allows configuration of crawl depth, user agents, and proxy routing to control data collection scope.
  • Request Interceptors - Provides a request interceptor pipeline to inject custom user agents and route traffic through proxies.
  • Binary Asset Crawling - Enables the discovery and downloading of non-textual assets such as images and audio files.
  • Java Crawling Frameworks - Simple and lightweight web crawler.
  • Web Crawling - Simple and lightweight web crawler.

Star history

Star history chart for yasserg/crawler4jStar history chart for yasserg/crawler4j

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

Frequently asked questions

What does yasserg/crawler4j do?

Crawler4j is a multi-threaded Java web crawler and spider designed for high-volume web traversal and content extraction. It functions as a polite crawling framework that enables the discovery and indexing of HTML and binary content across multiple websites.

What are the main features of yasserg/crawler4j?

The main features of yasserg/crawler4j are: Web Traversal Engines, Multi-Threaded Web Traversal, Crawl Progress Persisters, Web Spiders, Crawl Target Filtering, Web Crawlers, Web Data Extraction, Crawl Depth Limiters.

Which projects share features with yasserg/crawler4j?

Projects with overlapping indexed features include: apify/crawlee — Crawlee is a web scraping framework designed for building scalable, reliable, and distributed data extraction… projectdiscovery/katana — Katana is a web crawler and spider designed for security reconnaissance and web application mapping. It functions as a… code4craft/webmagic — Webmagic is a Java web crawling framework designed for building scalable automated crawlers to download and process… bda-research/node-crawler — node-crawler is a programmable web crawler for Node.js that manages request queues and automates data extraction. It… boris-code/feapder — Feapder is a Python web crawling framework designed for building scalable data extraction systems. It features a… binux/pyspider — PySpider is a Python web crawling framework designed for automated data extraction. It provides a pipeline for…

Projects sharing features with Crawler4j

These projects share indexed features with Crawler4j. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • apify/crawleeapify avatar

    apify/crawlee

    24,002View on GitHub↗

    Crawlee is a web scraping framework designed for building scalable, reliable, and distributed data extraction pipelines. It provides a unified interface for managing headless browser automation and lightweight HTTP requests, allowing developers to handle complex web navigation, dynamic content rendering, and large-scale data collection within a single, modular architecture. The project distinguishes itself through its resource-aware concurrency controller, which dynamically scales task execution based on real-time CPU and memory usage to prevent host machine exhaustion. It also features a rob

    TypeScriptapifyautomationcrawler
    View on GitHub↗24,002
  • projectdiscovery/katanaprojectdiscovery avatar

    projectdiscovery/katana

    15,584View on GitHub↗

    Katana is a web crawler and spider designed for security reconnaissance and web application mapping. It functions as a utility for identifying endpoints, forms, and API structures across web targets by combining standard HTTP request traversal with headless browser automation to render dynamic, JavaScript-heavy content. The tool distinguishes itself through its ability to maintain authenticated sessions and handle complex web interactions, such as automated form submission and captcha resolution. It provides granular control over the discovery process, allowing users to define specific crawl

    Goclicrawlergocrawler
    View on GitHub↗15,584
  • code4craft/webmagiccode4craft avatar

    code4craft/webmagic

    11,680View on GitHub↗

    Webmagic is a Java web crawling framework designed for building scalable automated crawlers to download and process large volumes of web pages. It functions as a distributed web crawler and dynamic content crawler, utilizing an XPath HTML parser to locate and extract specific data points from page structures. The framework distinguishes itself through its ability to handle dynamic content by rendering JavaScript and executing asynchronous requests to extract data from non-static pages. It also allows users to define and execute crawler logic via scripting languages, enabling the update of col

    Javacrawlerframeworkjava
    View on GitHub↗11,680
  • bda-research/node-crawlerbda-research avatar

    bda-research/node-crawler

    6,785View on GitHub↗

    node-crawler is a programmable web crawler for Node.js that manages request queues and automates data extraction. It functions as a rate-limited HTTP client and a headless HTML parser, providing the infrastructure to visit large sets of URLs asynchronously while preventing duplicate processing through task deduplication. The project distinguishes itself through a proxy rotation manager that cycles user agents and proxy servers to bypass access restrictions. It utilizes the HTTP/2 protocol to improve request performance and server compatibility during large-scale scraping operations. The syst

    TypeScriptcheeriocrawlerextract-data
    View on GitHub↗6,785
Compare all 30 related projects→