Onigumo is yet another web-crawler. It “crawls” websites or webapps, storing their data in a structured form suitable for further machine processing.
Onigumo is composed of three sequentially interconnected components:
The flowchart below illustrates the flow of data between those parts:
flowchart LR
start([START]) --> onigumo_operator[OPERATOR]
onigumo_operator -- <hash>.urls ---> onigumo_downloader[DOWNLOADER]
onigumo_downloader -- <hash>.raw ---> onigumo_parser[PARSER]
onigumo_parser -- <hash>.json ---> onigumo_operator
onigumo_operator <-.-> spider_operator[OPERATOR]
onigumo_parser <-.-> spider_parser[PARSER]
onigumo_operator --> spider_materialization[MATERIALIZER]
subgraph "Onigumo (kernel)"
onigumo_operator
onigumo_downloader
onigumo_parser
end
subgraph "Spider (application)"
spider_operator
spider_parser
spider_materialization
end
The Operator determines URL addresses for the Downloader. A Spider is responsible for adding the URLs, which it gets from the structured form of the data provided by the Parser.
The Operator’s job is to:
- initialize a Spider,
- extract new URLs from structured data,
- insert those URLs onto the Downloader queue.
The Downloader fetches and saves the contents and metadata from the unprocessed URL addresses.
The Downloader’s job is to:
- read URLs for download,
- check for the already downloaded URLs,
- fetch the URLs contents along with its metadata,
- save the downloaded data.
Zpracovává data ze staženého obsahu a metadat do strukturované podoby.
Činnost parseru se skládá z:
- kontroly stažených URL adres ke zpracování,
- zpracovávání obsahu a metadat stažených URL do strukturované podoby,
- ukládání strukturovaných dat.
Ze strukturované podoby dat vytáhne potřebné informace.
Podstata výstupních dat či informací je závislá na uživatelských potřebách a také podobě internetového obsahu. Je nemožné vytvořit univerzálního pavouka splňujícího všechny požadavky z kombinace obou výše zmíněných. Z tohoto důvodu je nutné si napsat vlastního pavouka.
Licenced under the MIT license.