GithubHelp home page GithubHelp logo

hay / wikilope Goto Github PK

View Code? Open in Web Editor NEW
8.0 1.0 1.0 27 KB

Discover interesting connections starting from a Wikipedia article

License: MIT License

JavaScript 100.00%
wikipedia wikipedia-api graph-theory network-analysis nodejs

wikilope's Introduction

wikilope

Discover interesting connections starting from a Wikipedia article.

This is a Node.js library and command-line tool to see connections from Wikipedia articles. For example, you can use it to see the Getting to Philosophy effect, but it can do much more.

Install

$ npm install -g wikilope

Basic usage

On the command line

wikilope -l <language code> -a <article name>

Or using a script

const Wikilope = require('../index.js');

const lope = new Wikilope({
    article : '<article name>',
    language : '<language>'
});

lope.run();

Advanced usage

Command line

The wikilope command has a lot of options you can use for interesting queries:

Usage: wikilope [options] <cmd> [env]

Options:

  -a, --article <article>    Wikipedia article name
  -c, --count <count>        Number of links to fetch
  -f, --format <format>      Output format: 'tree' (default) or 'terms'
  --json                     Output in JSON format
  -l, --language <language>  Language code for Wikipedia edition (e.g. 'en', 'nl', 'fr')
  --no-redirects             Don't follow redirects
  --no-cache                 Don't cache entries
  -r, --recursive            Also crawl up from results
  -s, --steps <steps>        How many steps should we go up?
  -v, --verbose
  -h, --help                 output usage information

Here's the classical Getting to Philosopy effect, starting from the English language Wikipedia version of the 'Amsterdam' article.

wikilope -l en -a Amsterdam

Let's not just get the first link, but the first three links. And let's use the German Wikipedia.

wikilope -l de -a Amsterdam -c 3

To also get the links from the articles you find use the recursive (-r) option.

wikilope -l en -a Elephant -r

Get the same data, but in JSON format

wikilope -l en -a Elephant -r --json

To limit the number of articles we're getting we could use the step (-s) option. We're also getting the first three links and doing it recursive.

wikilope -l en -a Blockchain -rs 5 -c 3

Node.js

Use this module for Node.js like this:

const Wikilope = require('../index.js');

const lope = new Wikilope({
    article : 'Amsterdam',
    language : 'en'
});

lope.run();

All options of the command line version have equivalent arguments in the Wikilope constructor:

{
 // Class option      : Command line flag
    article           : article,
    count             : count,
    debug             : verbose,
    followRedirects   : redirects,
    format            : format,
    json              : json,
    language          : language,
    recursive         : recursive,
    steps             : steps,
    useCache          : cache
}

License

MIT © Hay Kranen

wikilope's People

Contributors

hay avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

galactromeda

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.