Code Documentation

Frisbee Interface

class frisbee.Frisbee(project: str = 'elastic_gates', log_level: int = 20, save: bool = False)[source]

Class to interact with the core code.

_config_bootstrap() → None[source]

Handle the basic setup of the tool prior to user control.

Bootstrap will load all the available modules for searching and set them up for use by this main class.

_progressive_save(job) → None[source]

Save output to a dictionary as results stream in.

Depending on the options used, Frisbee can run for quite a long time. Each individual job is written after its completed and includes the findings along with the job details.

_reset() → None[source]

Reset some of the state in the class for multi-searches.

get_results() → List[T][source]

Return results from the search.

search(jobs: List[Dict[str, str]], executor=None) → None[source]

Perform searches based on job orders.

Module Interface

class frisbee.modules.base.Base(log_level=10)[source]

Base module class to assist in writing new modules.

_extract() → None[source]

Extract email addresses from results.

Text content from all crawled pages are ran through a simple email extractor. Data is cleaned prior to running pattern expressions.

_fetch(urls: List[str]) → None[source]

Perform bulk collection of data and return the content.

Gathering responses is handled by the base class and uses futures to speed up the processing. Response data is saved inside a local variable to be used later in extraction.

_format() → None[source]

Format search queries to perform in bulk.

Build up the URLs to call for the search engine. These will be ran through a bulk processor and returned to a detailer.

_process(responses: List[str]) → None[source]

Process search engine results for detailed analysis.

Search engine result pages (SERPs) come back with each request and will need to be extracted in order to crawl the actual hits.

_request_bulk(urls: List[str]) → List[T][source]

Batch the requests going out.

search() → None[source]

Execute search function and hand to processor.

set_log_level(level: str) → None[source]

Override the default log level of the class.