parsed() :: term
result() :: term
extract_data(url :: String.t, parsed, options :: Keyword.t) :: [result]
extract_links(url :: String.t, parsed, options :: Keyword.t) :: [String.t]
parse(url :: String.t, body :: String.t, options :: Keyword.t) :: {:ok, parsed} | {:error, term}