Open g-arcas opened 2 years ago
Comme l'indique la page EXPORT, celle-ci vise uniquement à exporter les métadonnées des webentités, pas de récupérer les données ni sur le réseau ni sur les pages web. À ce jour l'interface web ne permet pas d'exporter de liste de pages, cela n'est possible qu'au travers de l'API webentité par webentité : https://github.com/medialab/hyphe/blob/master/doc/api.md#pages-links-and-networks. C'est une fonctionnalité qui pourrait être utile à ajouter effectivement. Mais en attendant, si vous utilisez une instance locale de hyphe, depuis le dossier d'installation vous pouvez faire cela ainsi (depuis l'environnement python dans lequel les dépendances de hyphe ont été installées:
# Pour récupérer un fichier json contenant la liste formatée des pages crawlées de l'entité MA_WEBENTITY_ID du corpus MON_CORPUS_ID
python hyphe_backend/test_client.py store.get_webentity_pages json MA_WEBENTITY_ID True MON_CORPUS_ID > MA_WEBENTITY_ID_pages.json
# Pour récupérer un fichier texte contenant juste la liste des urls des pages crawlées de l'entité MA_WEBENTITY_ID du corpus MON_CORPUS_ID
python hyphe_backend/test_client.py store.get_webentity_pages MA_WEBENTITY_ID True MON_CORPUS_ID | grep "'url':" | awk -F "'" '{print $4}'
Merci, je vais tenter ça !
Bonjour.
Visiblement il y a un "truc" qui cloche, et je me demande si ce n'est pas parce que sur ma machine (Ubuntu 20.04) c'est python3 qui est installé par défaut. Mais en testant sur une autre machine après avoir installé python 2, je n'ai pas plus de succès. :-(
Sinon il me semble que notre outil minet
a une commande hyphe dump
qui correspond peut-être à ce que vous cherchez à faire: https://github.com/medialab/minet/blob/master/docs/cli.md#dump ?
Alors oui, c'est ce que je me suis dit et j'ai en effet installé minet. Seul "hic" : où puis-je trouver le corpus_id qu'il faut passer en paramètre ? Je trouve les webentities_id mais ce corpus_id, mystère et boules de gomme.
Alors en fait je confonds les deux scripts. minet me retourne no corpus existing with ID test alors que j'ai bien un corpus qui porte le nom test. Mais le "ID" me fait penser qu'il faut peut-être passer à minet l'ID du corpus et pas son nom. D'où le fait de trouver où se trouve cet ID.
@g-arcas une fois en python2 il faut que tus utilises l'environnement python de hyphe pour avoir toutes les dépendances. Mais sinon effectivement avec minet cela devrait marcher plus simplement. Le corpus_id est le texte dans l'url de l'interface entre slash après project, par exemple dans https://hyphe.medialab.sciences-po.fr/demo/#/project/77test/overview corpus_id est 77test
ok, trouvé : il faut passer le nom du corpus en minuscules même si dans Hyphe il est défini en majuscules !
id ≠ nom :)
Oui et en effet minet marche très bien (en plus il peut être installé sur une autre machine). C'est le "corpus-name" de l'exemple qui m'a mis sur une mauvaise piste.
Merci pour votre aide !
Est-il possible d'exporter la liste de toutes les URLs complètes crawlées par Hyphe ?
Je précise "complètes" parce que la fonction EXPORT de l'interface Web de Hyphe ne semble pas le faire.