All Projects → obetomuniz → tatooine

obetomuniz / tatooine

Licence: other
A pluggable, simple, and powerful web scraper.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to tatooine

MatrixChecks
The optimized checks for Matrix Anticheat, a powerful anticheat for Minecraft.
Stars: ✭ 70 (+16.67%)
Mutual labels:  customizable
NotionAI-MyMind
This repo uses AI and the wonderful Notion to enable you to add anything on the web to your "Mind" and forget about everything else.
Stars: ✭ 181 (+201.67%)
Mutual labels:  customizable
whython
An almost fully customizable language made in python!
Stars: ✭ 45 (-25%)
Mutual labels:  customizable
hackernews-TUI
A Terminal UI to browse Hacker News
Stars: ✭ 347 (+478.33%)
Mutual labels:  customizable
Triangle
A (really) simple Swift 4 UIView class with a triangle and a diagonal line rendered and customizable in the storyboard (color, line width, direction)
Stars: ✭ 25 (-58.33%)
Mutual labels:  customizable
spax
[WIP] 🚀 a framework for building frameworks
Stars: ✭ 22 (-63.33%)
Mutual labels:  pluggable
bound
Data-binding made easy
Stars: ✭ 21 (-65%)
Mutual labels:  customizable
ElDewrito-Menu
Possible replacement for Halo Online's UI heavily based on Halo: Reach
Stars: ✭ 22 (-63.33%)
Mutual labels:  customizable
THCalendar
Calendar like iOS
Stars: ✭ 21 (-65%)
Mutual labels:  customizable
analogclock
🕰 A customizable analog clock built using React
Stars: ✭ 16 (-73.33%)
Mutual labels:  customizable
ElevenClock
ElevenClock: Customize Windows 11 taskbar clock
Stars: ✭ 1,494 (+2390%)
Mutual labels:  customizable
termux-shell
Beautify your Termux App with this Shell 😍
Stars: ✭ 149 (+148.33%)
Mutual labels:  customizable
paramount
React Component Library for React Native and React Web
Stars: ✭ 23 (-61.67%)
Mutual labels:  customizable
spacemy.xyz
A MySpace recreation project aimed at restoring the former glory of MySpace 2008
Stars: ✭ 21 (-65%)
Mutual labels:  customizable
react-native-imaged-card-view
Rising Imaged Card View with Awesome Shadows and Fully Customizable Library for React Native
Stars: ✭ 16 (-73.33%)
Mutual labels:  customizable
docsify-darklight-theme
A Dark and Light theme with switch for your docsify site
Stars: ✭ 123 (+105%)
Mutual labels:  customizable
CLE
Command Live Environment
Stars: ✭ 21 (-65%)
Mutual labels:  customizable
ULogViewer
Cross-Platform Universal Log Viewer.
Stars: ✭ 64 (+6.67%)
Mutual labels:  customizable
PySychonaut
Unofficial python api for Erowid, PsychonautWiki and AskTheCaterpillar
Stars: ✭ 18 (-70%)
Mutual labels:  web-scrapping
Positional
An elegant and colorful location information app for Android with Compass, Clock, Level, Sun, Moon, Trail Marker and many other features.
Stars: ✭ 72 (+20%)
Mutual labels:  customizable

Tatooine: A pluggable, simple and powerful web scraper.

Build Status codecov

Installation

$ npm install tatooine --save

Docs

// schemas: Array<Schema> => A list of schemas.
// customEngines?: Array<CustomEngine> => An optional list of custom engines.

const promise = Tatooine(schemas, customEngines)

Standard Engines

For convenience, Tatooine provide three useful standard engines.

Extending Standard Engines

The fork property allows extends the engine capabilities for your needs while creating schemas for the standard engines spa, json and/or markup.

// index.js

import Tatooine from "tatooine"

const schemas = [{
  engine: "json",
  options: { ... },
  selectors: { ... },
  fork({ sources, error }) {
    // Do anything you want with the data provided and then;

    return { sources, error };
  }
}]

const promise = Tatooine(schemas)

Note: The data returned in fork as parameter is the data already processed using the given schema configs.

Custom Engines

Beyond the standard engines, you can also create custom engines with your own rules whenever needed. Basically, you should follow the structure below to extend Tatooine's engine capabilities:

// xyz-engine.js

function getSourcesFromSomewhere(schema) {
  // Your engine logic
}

export default {
  engine: "xyz",
  run: getSourcesFromSomewhere,
}
// xyz-schema.js

export default {
  engine: "xyz",
  ...
};
// index.js

import Tatooine from "tatooine"

import xyzEngine from "./xyz-engine.js"
import xyzSchema from "./xyz-schema.js"

const promise = Tatooine([xyzSchema], [xyzEngine])
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].