diff --git a/bash/istex-api-build-queries.sh b/bash/istex-api-build-queries.sh deleted file mode 100755 index b979ffe..0000000 --- a/bash/istex-api-build-queries.sh +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/bash -# -# Exemple de script shell de construction d'une liste d'URL permettant -# l'extraction de documents (métadonnées + plein texte) à utiliser avec -# Gatling dans le cadre de benches et de tests. -# -# -- Stan @ 29 juin 2015 -# -# Prérequis : -# apt-get install jq -# apt-get install curl -# apt-get install wcalc -# - -PAGE_SIZE=10 -ISTEX_QUERY="hypertext" -ISTEX_URI="https://api.istex.fr/document/?q=$ISTEX_QUERY&size=$PAGE_SIZE" -# Fichier qui va stocker les requêtes (qu'on pourra en suite utiliser dans gatling) -REQ_FILE="requests.csv" - -# Outil JQ permettant de manipuler le JSON en ligne de commande -# http://stedolan.github.io/jq/ -JQ="jq -c -M -r" - -# Récupération de la première page pour connaître le nombre de documents -# et en déduire le nombre de page de résultats à télécharger -FIRST_PAGE=$(curl -s $ISTEX_URI) -TOTAL_DOC=$(echo $FIRST_PAGE | $JQ '.total') -TOTAL_PAGE=$(wcalc -q "ceil($TOTAL_DOC/$PAGE_SIZE) - 1") - -echo "--> Téléchargement de $TOTAL_DOC documents" - -# On récupère les pages de resultats une par une -for PAGE_N in $(seq 0 $TOTAL_PAGE) -do - - echo "--> Téléchargement de la page $PAGE_N/$TOTAL_PAGE" - FROM=$(wcalc -q "$PAGE_N.0 * $PAGE_SIZE") - URL="$ISTEX_URI&from=$FROM&output=fulltext,metadata" - PAGE=$(curl -s $URL) - NB_HITS=$(echo $PAGE | $JQ ".hits | length") - - # On récupère les différents documents (hits) de la page - for DOC_IDX in $(seq 1 $NB_HITS) - do - DOC_IDX=$(wcalc -q "$DOC_IDX - 1") - DOC=$(echo $PAGE | $JQ ".hits[$DOC_IDX]") - DOC_ISTEXID=$(echo $DOC | $JQ ".id") - DOC_FULLTEXT=$(echo $DOC | $JQ ".fulltext") - DOC_METADATA=$(echo $DOC | $JQ ".metadata") - DOC_NB_METADATA=$(echo $DOC_METADATA | $JQ ". | length") - DOC_NB_FULLTEXT=$(echo $DOC_FULLTEXT | $JQ ". | length") - - # On récupère le document dont l'istexid a été extrait - echo "--> Téléchargement du document $DOC_ISTEXID (nb meta = $DOC_NB_METADATA ; nb ft = $DOC_NB_FULLTEXT)" - - # On télécharge les métadonnées du document - for DOC_META_IDX in $(seq 1 $DOC_NB_METADATA) - do - DOC_META_IDX=$(wcalc -q "$DOC_META_IDX - 1") - URI=$(echo $DOC_METADATA | $JQ ".[$DOC_META_IDX].uri") - FILETYPE=$(echo $DOC_METADATA | $JQ ".[$DOC_META_IDX].type") - FILENAME="$DOC_ISTEXID.$FILETYPE" - curl -s $URI > $FILENAME - echo "--> Métadonnées téléchargé : $FILENAME" - done - - # On télécharge les plein textes du document - for DOC_FT_IDX in $(seq 1 $DOC_NB_FULLTEXT) - do - DOC_FT_IDX=$(wcalc -q "$DOC_FT_IDX - 1") - URI=$(echo $DOC_FULLTEXT | $JQ ".[$DOC_FT_IDX].uri") - FILETYPE=$(echo $DOC_FULLTEXT | $JQ ".[$DOC_FT_IDX].type") - FILENAME="$DOC_ISTEXID.$FILETYPE" - curl -s $URI > $FILENAME - echo "--> Plein texte téléchargé : $FILENAME" - done - - done -done