Fork me on GitHub

Outils pour utilisateurs

Outils du site


platforms:contribute:scraper

Comment écrire un scraper (en javascript)

Le rôle du scraper est de rapatrier la liste des titres proposés par l'éditeur de la plateforme à partir de l'analyse de listes contenues dans des pages HTML sur le site de l'éditeur.

S'appuyer sur un modèle déjà existant

Les scrapers sont rangés dans un sous-répertoire scrapers que vous trouverez dans les répertoires des parseurs.

Il n'en existe pas pour toutes les plateformes.

Le scraper d'une plateforme sera nommé selon la syntaxe : scrape_platform_ressource.jsplatform correspond au nom de la plateforme, et ressource l'origine des données (journals, books, encyclopédies, AllTitles…)

Il n'existe pas de modèle type pour l'écriture d'un scrapeur, l'architecture des pages HTML des sites des éditeurs sont trop différentes. Une librairie existe cependant (voir ci-dessous) qui va permettre, d'initialiser un élément, de l'enrichir et de l'intégrer à la liste à produire.

Une partie des fonctionnalités peut être mutualisée par l’appel de la librairie pkbrows Avec cette librairie, les scrapers ont une aide intégrée et génèrent des fichiers kbart au nom normalisé

Appel de la librairie pkbrows

...
var PkbRows = require('../.lib/pkbrows.js');
var pkb = new PkbRows('acs');
...

L'appel de la librairie et la déclaration de la pkb en passant un paramètre disant à quel parseur correspond le scrapeur permettra de générer le fichier KBART directement dans le bon répertoire du projet (par exemple ci-dessus, acs correspond au nom court de la plateforme American Chemical Society).

Initialiser des éléments

var info = {};
 
  // initialize a kbart record
info = pkb.initRow(info);

L'élément est initialisé avec tous les champs KBART nécessaires.

Enrichir chaque élément

info.publication_title  = $('#journalLogo img').attr('alt');

Chaque élément KBART peut être enrichi.

Ajouter des éléments dans la liste kbart

pkb.addRow(info);

Générer le fichier KBART au nom normalisé

pkb.writeKbart();.

Le fichier est généré avec le nom et le format KBART dans le répertoire correspondant au parseur.

Voir l'exemple de American Chemical Society

platforms/contribute/scraper.txt · Dernière modification: 2015/04/30 18:45 par porquet