Current section

Files

Jump to
kreuzcrawl lib kreuzcrawl.ex
Raw

lib/kreuzcrawl.ex

# This file is auto-generated by alef. DO NOT EDIT.
defmodule Kreuzcrawl do
@moduledoc "High-level API for kreuzcrawl."
@doc "Create a new crawl engine with the given configuration."
@spec create_engine() :: {:ok, reference()} | {:error, String.t()}
def create_engine do
Kreuzcrawl.Native.create_engine(nil)
end
@doc "Create a new crawl engine with the given configuration."
@spec create_engine(String.t() | nil) :: {:ok, reference()} | {:error, String.t()}
def create_engine(config) do
Kreuzcrawl.Native.create_engine(config)
end
@doc "Scrape a single URL, returning extracted page data."
@spec scrape_async(reference(), String.t()) :: {:ok, String.t() | nil} | {:error, String.t()}
def scrape_async(engine, url) do
Kreuzcrawl.Native.scrape_async(engine, url)
end
@doc "Crawl a website starting from `url`, following links up to the configured depth."
@spec crawl_async(reference(), String.t()) :: {:ok, String.t() | nil} | {:error, String.t()}
def crawl_async(engine, url) do
Kreuzcrawl.Native.crawl_async(engine, url)
end
@doc "Discover all pages on a website by following links and sitemaps."
@spec map_urls_async(reference(), String.t()) :: {:ok, String.t() | nil} | {:error, String.t()}
def map_urls_async(engine, url) do
Kreuzcrawl.Native.map_urls_async(engine, url)
end
@doc "Scrape multiple URLs concurrently."
@spec batch_scrape_async(reference(), [String.t()]) :: [String.t() | nil]
def batch_scrape_async(engine, urls) do
Kreuzcrawl.Native.batch_scrape_async(engine, urls)
end
@doc "Crawl multiple seed URLs concurrently, each following links to configured depth."
@spec batch_crawl_async(reference(), [String.t()]) :: [String.t() | nil]
def batch_crawl_async(engine, urls) do
Kreuzcrawl.Native.batch_crawl_async(engine, urls)
end
@doc "Method"
@spec contentconfig_default() :: String.t() | nil
def contentconfig_default do
Kreuzcrawl.Native.contentconfig_default()
end
@doc "Method"
@spec browserconfig_default() :: String.t() | nil
def browserconfig_default do
Kreuzcrawl.Native.browserconfig_default()
end
@doc "Method"
@spec crawlconfig_default() :: String.t() | nil
def crawlconfig_default do
Kreuzcrawl.Native.crawlconfig_default()
end
@doc "Validate the configuration, returning an error if any values are invalid."
@spec crawlconfig_validate(map()) :: {:ok, nil} | {:error, String.t()}
def crawlconfig_validate(obj) do
Kreuzcrawl.Native.crawlconfig_validate(obj)
end
@doc "Returns the count of unique normalized URLs encountered during crawling."
@spec crawlresult_unique_normalized_urls(map()) :: non_neg_integer()
def crawlresult_unique_normalized_urls(obj) do
Kreuzcrawl.Native.crawlresult_unique_normalized_urls(obj)
end
end