View Source SpiderMan.CommonSpider (spider_man v0.5.1)
A Common Spider what setting functions as callbacks instead of module defined
Usage
SpiderMan.CommonSpider.start(:spider_name, handle_response: fn response, context -> %{} end)
Summary
Types
@type callback() :: {:init, init()} | {:handle_response, handle_response()} | {:prepare_for_start, prepare_for_start()} | {:prepare_for_stop, prepare_for_stop()} | {:prepare_for_start_component, prepare_for_start_component()} | {:prepare_for_start_component, prepare_for_start_component()}
@type callbacks() :: [callback()]
@type handle_response() :: (SpiderMan.Response.t(), context :: map() -> %{ optional(:requests) => [SpiderMan.Request.t()], optional(:items) => [SpiderMan.Item.t()] })
@type init() :: (SpiderMan.Engine.state() -> SpiderMan.Engine.state())
@type prepare_for_start() :: (SpiderMan.prepare_for_start_stage(), SpiderMan.Engine.state() -> SpiderMan.Engine.state())
@type prepare_for_start_component() :: (SpiderMan.component(), options :: keyword() | false -> options :: keyword())
@type prepare_for_stop() :: (SpiderMan.Engine.state() -> :ok)
@type prepare_for_stop_component() :: (SpiderMan.component(), options :: keyword() | false -> :ok)
Functions
@spec check_callbacks_and_merge_settings(callbacks(), SpiderMan.settings()) :: {:ok, SpiderMan.settings()} | {:error, String.t()}
@spec start(SpiderMan.spider(), callbacks(), SpiderMan.settings()) :: Supervisor.on_start_child()