Storm Crawler Save

A scalable, mature and versatile web crawler based on Apache Storm

Project README

StormCrawler

license Build Status javadoc Coverage Status

Apache StormCrawler (Incubating) is an open source collection of resources for building low-latency, scalable web crawlers on Apache Storm. It is provided under Apache License and is written mostly in Java.

Quickstart

NOTE: These instructions assume that you have Apache Maven installed. You will need to install Apache Storm 2.6.2 to run the crawler.

StormCrawler requires Java 11 or above.

DigitalPebble's Ansible-Storm repository contains resources to install Apache Storm using Ansible. Alternatively, this stormcrawler-docker project should help you run Apache Storm on Docker.

Once Storm is installed, the easiest way to get started is to generate a new StormCrawler project following the instructions below:

First, build the Stormcrawler codebase

mvn install

Then, generate a project using the locally installed archetype

mvn archetype:generate -DarchetypeGroupId=org.apache.stormcrawler -DarchetypeArtifactId=stormcrawler-archetype -DarchetypeVersion=3.0-SNAPSHOT

You'll be asked to enter a groupId (e.g. com.mycompany.crawler), an artefactId (e.g. stormcrawler), a version, a package name and details about the user agent to use.

This will not only create a fully formed project containing a POM with the dependency above but also the default resource files, a default CrawlTopology class and a configuration file. Enter the directory you just created (should be the same as the artefactId you specified earlier) and follow the instructions on the README file.

Alternatively if you can't or don't want to use the Maven archetype above, you can simply copy the files from archetype-resources.

Have a look at the code of the CrawlTopology class, the crawler-conf.yaml file as well as the files in src/main/resources/, they are all that is needed to run a crawl topology : all the other components come from the core module.

Archetype Notes

While you will always be able to build StormCrawler from source we are working towards getting our first release out under the Apache Software Foundation. Once this happens, generating StormCrawler projects will not require you to install the Maven archetype from source.

Getting help

The WIKI is a good place to start your investigations but if you are stuck please use the tag stormcrawler on StackOverflow or ask a question in the discussions section.

The project website has a page listing companies providing commercial support for Apache StormCrawler.

Note for developers

Please format your code before submitting a PR with

mvn git-code-format:format-code -Dgcf.globPattern=**/*

If you are running commands in a zsh shell, you may need to execute:

mvn git-code-format:format-code -Dgcf.globPattern="**/*"

You can enable pre-commit format hooks by running:

mvn clean install -Dskip.format.code=false

Thanks

alt tag

YourKit supports open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of YourKit Java Profiler and YourKit .NET Profiler, innovative and intelligent tools for profiling Java and .NET applications.

Open Source Agenda is not affiliated with "Storm Crawler" Project. README Source: apache/incubator-stormcrawler
Stars
857
Open Issues
28
Last Commit
1 day ago
License

Open Source Agenda Badge

Open Source Agenda Rating