Coder Social home page Coder Social logo

istex-api-harvester's Introduction

istex-api-harvester

Utilitaire en ligne de commande permettant de moissonner les corpus proposés par l'API de la plateforme ISTEX. En plus du présent moissonneur écrit en NodeJS, une version expérimentale en BASH est disponible. La présente documentation concerne la version principale NodeJS.

Pré requis

Les prérequis pour l'utiliser sont :

  • Avoir nodejs d'installé sur sa machine (de préférence sur un OS de type Unix) -> http://nodejs.org/
  • Disposer d'un accès réseau et d'avoir une adresse ip autorisée par la plateforme ISTEX

Installation

npm install -g istex-api-harvester

Usage

  Usage: istex-api-harvester [options]

  Options:

    -h, --help                 output usage information
    -V, --version              output the version number
    -q, --query [requete]      La requete (?q=) 
    -c, --corpus [corpus]      Le corpus souhaité (ex: springer, ecco, ...)
    -s, --size [size]          Quantité de documents à télécharger
    -m, --metadata [formats]   Pour retourner seulement certain formats de metadata (ex: mods,xml)
    -f, --fulltext [formats]   Pour retourner seulement certain formats de plein text (ex: tei,pdf)
    -u, --username [username]  Nom d'utilisateur ISTEX
    -p, --password [password]  Mot de passe ISTEX
    -v, --verbose              Affiche plus d'informations
    -S, --spread               ventile des fichiers téléchargés dans une arborescence à 3 niveaux
    -H, --host [host:port]     interrogation sur un hostname (ou @IP) particulier
    -b, --sortby [sortMode]    tri sur un ou plusieurs champ
    -o, --output [outputDir]   répertoire de destination (output ou nom de corpus si précisé)

Par exemple pour moissonner les 850 premiers (ordre d'indexation) documents du corpus "springer" il faut taper ceci:

istex-api-harvester --corpus springer --size 850

Pour moissonner les 100 documents les plus pertinants correspondant à la requête "hypertex" tout corpus confondus :

istex-api-harvester --query hypertext --size 100

Pour moissonner également les pleins textes :

istex-api-harvester --query hypertext --size 100 --fulltext all

Les métadonnées au format MODS seront récupérées ainsi que le plein texte qui est la pluspart du temps au format pdf. Les données téléchargées sont stockées dans le répertoire "./springer/" Pour les deux premiers documents téléchargés, on aura par exemple les fichiers suivants qui seront créés :

  • ./springer/707770bf3aea02d1a81854bdd46533becfde35c9.mods.xml
  • ./springer/707770bf3aea02d1a81854bdd46533becfde35c9.pdf
  • ./springer/8db224e66c7fa77be4210d4d9ddb5dd84666066f.mods.xml
  • ./springer/8db224e66c7fa77be4210d4d9ddb5dd84666066f.pdf

A noter que la longue chaîne de caractère est l'identifiant unique du document en question. A noter que le temps d'exécution du script dépend fortement de la qualité du réseau et du volume des données téléchargées.

Pour moissoner les 100 premiers documents (avec PDF) de la discipline MATHEMATICS sur le mot clé Orthogonal :

istex-api-harvester \
  --query 'Orthogonal AND categories.wos.raw:("MATHEMATICS")' \
  --fulltext pdf \
  --size 100

Pour interroger l'API via une adresse IP et sauvegarder les fichiers dans une arborescence à 3 niveaux :

istex-api-harvester \
  --query 'Agility' \
  --fulltext tei \
  --size 100 \
  --host $API_IP:$API_PORT \
  --spread

istex-api-harvester's People

Contributors

kerphi avatar inistcnrs avatar ecirtap avatar

Watchers

 avatar

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.