Skip to content
@MontFerret

MontFerret

Modern web scraping system

Welcome to Ferret!

Ferret is a web scraping system. It aims to simplify data extraction from the web for UI testing, machine learning, analytics and more.
Ferret allows users to focus on the data. It abstracts away the technical details and complexity of underlying technologies using its own declarative language.
It is extremely flexible, powerful, easy to learn and use.

Where to start

You can start by reading the introduction post on our website and get your hands dirty with the getting started guide.

Ecosystem

Ferret system contains multiple tools and components.

  • Ferret runtime is the core of the system that contains the language parser and execution runtime engine. It's designed to be portable and can be embedded to any application.
  • CLI is a command-line tool that allows you to run Ferret scripts from the terminal. Good for quick testing and debugging.
  • Worker is a HTTP server that allows you to run Ferret scripts as a service. Good for building scalable and distributed systems.
  • Lab is a test runner that allows you to write and run UI tests using Ferret scripts. Good for building test suites and running them in CI/CD pipelines.
  • Chromium is a Dockerized headless Chromium that is used by Ferret to execute scripts. It's based on the latest version of the Chromium browser and is optimized for running in headless environments.
  • VS Code Syntax Highlighting is a Visual Studio Code extension that provides syntax highlighting for Ferret Query Language.
  • Ferret Playground is an online playground that allows you to write and run Ferret scripts in the browser. Good for quick prototyping and sharing.

Contributors

Thanks to everyone who contributed.

Financial support

Support this project by becoming a sponsor. Your logo will show up here with a link to your website.

Pinned Loading

  1. ferret ferret Public

    Declarative web scraping

    Go 5.8k 304

  2. cli cli Public

    Ferret CLI

    Go 18 5

  3. worker worker Public

    Containerized Ferret worker

    Go 14 7

  4. lab lab Public

    Test runner for Ferret

    Go 12 3

  5. chromium chromium Public

    Dockerized headless Chromium

    Shell 15 7

  6. vscode-fql-syntax vscode-fql-syntax Public

    FQL syntax highlight for VSCode

    TypeScript 5 1

Repositories

Showing 10 of 21 repositories
  • ferret Public

    Declarative web scraping

    MontFerret/ferret’s past year of commit activity
    Go 5,762 Apache-2.0 304 45 (14 issues need help) 7 Updated Dec 4, 2024
  • .github Public
    MontFerret/.github’s past year of commit activity
    0 0 0 0 Updated Sep 19, 2024
  • cli Public

    Ferret CLI

    MontFerret/cli’s past year of commit activity
    Go 18 Apache-2.0 5 4 0 Updated Sep 19, 2024
  • montferret.github.io Public

    Website for Ferret project

    MontFerret/montferret.github.io’s past year of commit activity
    HTML 2 MIT 7 2 0 Updated Nov 16, 2023
  • worker Public

    Containerized Ferret worker

    MontFerret/worker’s past year of commit activity
    Go 14 Apache-2.0 7 12 (2 issues need help) 0 Updated Mar 29, 2023
  • lab Public

    Test runner for Ferret

    MontFerret/lab’s past year of commit activity
    Go 12 Apache-2.0 3 2 (1 issue needs help) 0 Updated Mar 28, 2023
  • chromium Public

    Dockerized headless Chromium

    MontFerret/chromium’s past year of commit activity
    Shell 15 MIT 7 0 0 Updated Mar 28, 2023
  • setup-lab Public

    GitHub Action to setup and run Ferret Lab

    MontFerret/setup-lab’s past year of commit activity
    Shell 0 Apache-2.0 0 0 0 Updated Mar 7, 2023
  • ferret-server Public

    Advanced declarative web scraping

    MontFerret/ferret-server’s past year of commit activity
    Go 30 Apache-2.0 6 14 1 Updated Feb 25, 2023
  • ferret-server-ui Public

    UI dashboard for Ferret Server

    MontFerret/ferret-server-ui’s past year of commit activity
    TypeScript 8 Apache-2.0 2 0 27 Updated Jan 3, 2023