7 Repos
Frameworks and techniques for scaling web crawlers across multiple nodes via coordinated request queues.
Distinct from Web Crawl Schedulers: Covers the overall distributed crawling architectural pattern, not just the scheduling logic.
Explore 7 awesome GitHub repositories matching data & databases · Distributed Web Crawling. Refine with filters or upvote what's useful.
This project is a distributed headless Chrome web crawler and data extraction framework. It functions as a JavaScript rendering engine that uses a headless browser to process dynamic pages, extracting structured data from websites that require JavaScript execution. The system is designed for scalable data collection across multiple nodes, using distributed task synchronization and shared caches to prevent duplicate work. It distinguishes itself through the ability to emulate specific client environments by configuring user agents and viewport dimensions, while capturing visual evidence such a
Scales data collection across multiple nodes using coordinated request queues for large-scale web crawling.
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
Provides a framework for scaling Scrapy crawlers across multiple servers using Redis for coordination.
Weibospider ist ein verteilter Web-Crawler, der darauf ausgelegt ist, Posts, Profile und Interaktionsdaten aus dem sozialen Netzwerk Weibo zu extrahieren. Er fungiert als Social-Media-Datenextraktor, der eine verteilte Task-Queue nutzt, um Scraping-Operationen über mehrere Worker-Knoten hinweg zu skalieren. Das System enthält eine grafische Administrationsschnittstelle zur Konfiguration von Crawler-Einstellungen, Ziel-Benutzerkennungen und Suchbegriffen. Es verwendet eine verteilte Architektur, um den Datendurchsatz zu erhöhen und die groß angelegte Sammlung von Social-Media-Inhalten zu verwalten. Das Tool deckt ein breites Spektrum an Datensammlungsfunktionen ab, einschließlich Harvesting von Benutzerprofilen, Extraktion basierend auf Suchbegriffen und das Mapping sozialer Graphen durch Follower-Listen, Kommentare und Reposts. Es bietet zudem Mechanismen für Request-Rate-Regulierung, Account-Rotation und die Automatisierung wiederkehrender Aufgaben, um Sitzungspersistenz und kontinuierliche Datensammlung aufrechtzuerhalten.
Distributes scraping tasks across multiple nodes via coordinated request queues to increase throughput.
DotnetSpider is a .NET web crawler framework and programmable tool designed for traversing websites and capturing structured data from web pages. It functions as a distributed crawling engine that enables the automation of web crawling to discover and extract data. The framework is designed for distributed data extraction, allowing crawling tasks to be spread across multiple servers to process large volumes of web content. This architecture supports high-performance web scraping and enterprise data collection workflows for gathering structured information.
Scales data extraction by spreading crawling tasks across multiple nodes via coordinated request queues.
yacysearchserver ist ein dezentrales Indexierungssystem und eine Peer-to-Peer-Suchmaschine. Es fungiert als verteilter Web-Crawler und Intranet-Such-Appliance, die die Entdeckung und Indexierung von Webinhalten ohne Abhängigkeit von einer zentralen Autorität ermöglicht. Das Projekt ermöglicht die Erstellung privater Suchportale zur Indexierung interner Websites und Dateisysteme. Es nutzt ein Peer-to-Peer-Netzwerk, um Suchindizes zu teilen und das Abfrage-Routing über mehrere Serverinstanzen hinweg zu verteilen, wodurch Suchergebnisse durch dezentrales Indexmanagement skaliert werden. Das System deckt rekursives Web-Crawling, Web-Inhaltsindexierung und fortgeschrittene Abfrageverfeinerung ab. Es enthält Dienstprogramme für Datensicherung, Wiederherstellung sowie den Export und Import indexierter Daten. Die Anwendung unterstützt die Bereitstellung über Docker-Container und ermöglicht die Systemkonfiguration über Umgebungsvariablen.
Implements a production-ready crawling system that discovers and indexes web content across distributed nodes.
Distribute crawler ist ein verteiltes Web-Scraping-Framework, das sich in Scrapy integriert, um mehrere Crawler-Instanzen über Cluster hinweg zu koordinieren. Es nutzt eine zentralisierte Aufgabenwarteschlange, um gleichzeitige Datensammeloperationen zu verwalten und zu skalieren, was eine horizontale Skalierung von Scraping-Aufgaben über mehrere Worker-Nodes hinweg ermöglicht. Das Framework zeichnet sich durch seinen Fokus auf groß angelegtes Datenmanagement und Traffic-Kontrolle aus. Es speichert gescrapte Elemente und binäre Assets in dokumentorientierten Datenbankclustern und nutzt Deduplizierungslogik, um Bandbreite und Speicher zu optimieren. Um eine konsistente Datensammlung von geschützten Quellen aufrechtzuerhalten, setzt es automatisierte Anti-Blocking-Strategien ein, einschließlich der Rotation von Request-Identitäten, dynamischer Geschwindigkeitsdrosselung und Anpassungen der Nebenläufigkeit basierend auf der Reaktionsfähigkeit der Zielseite. Das System umfasst eine umfassende Infrastruktur für die betriebliche Überwachung, einschließlich Echtzeit-Leistungsüberwachung und Metrik-Aggregation. Es unterstützt eine modulare Request-Pipeline, die die Injektion benutzerdefinierter Header und Verhaltenssteuerungen während des Crawling-Prozesses ermöglicht.
Provides a distributed web scraping framework that scales data collection across multiple nodes using centralized task queues.
This project provides a search service designed to retrieve and rerank web content for use in large language model applications. It functions as a retrieval augmented search engine that processes natural language queries to fetch contextually relevant information from external web sources. The system distinguishes itself through a combination of semantic retrieval and precision-focused reranking. It converts user queries into high-dimensional embeddings to perform similarity searches across indexed collections, then refines these results by passing candidate pairs through a secondary model to
Uses distributed background workers to fetch external web content without blocking the primary request cycle.