==== Prise en main ==== === Récupérer le plugin === Il s'agit d'un module d'extension (//plugin//[[https://fr.wikipedia.org/wiki/Plugin|définition]]) au navigateur Chromium, que vous devez installer. Pour le dire un peu rapidement, il permet d'utiliser la mise ne forme des pages web pour récupérer de l'information. Il peut naviguer sur une page en suivant des liens, des boutons, pour accéder à l'information désirée. Nous allons réaliser visuellement un petit programme. Vous trouverez une aide pour débuter sur le site **//webscraper//** : [[http://webscraper.io/|Ici]] === Un exemple le blog : Melenchon.fr === Notre **objectif** : fabriquer un tableau avec les titres, les dates, les url et les textes des articles publiés sur le blog == Préparer == Avant de lancer le //plugin// il faut aller sur la racine (l'accueil) de la page du site que vous souhaitez utiliser. Ici [[http://Melenchon.fr]] Vous activez l'extension grace au menu en haut à droite, en sélectionnant successivement "Plus d'outils"("More tools") > "Outils de développement" ("Developper tools") comme ceci : {{ :accederaumenu.png?200 |}} Cet outil, se présente sous la forme d'onglet qui permettent d'explorer le code d'une page (html, css, js). En ce qui nous concerne sur la barre de menu il y a un **Web scraper**. C'est là qu'il faut aller pour débuter. Deux onglets pour commencer : - Sitemap - Create new sitemap Évidemment nous débutons par le second : "Create new sitemap">"Create Sitemap". Donnons un nom explicite en minuscule : blogmelenchon.fr et l'adresse du site. Comme ceci : {{ :webscraper_creersitemap.png?200 |}} == Créer les outils == Nous allons décomposer notre "extraction de données" en deux grandes étapes : - il est nécessaire que le petit programme que nous faisons naviguer pour accéder à l'information, qu'il suive des liens - il doit récupérer du texte, des images, des dates qui sont entre des balises pour afficher leur contenu dans un tableau final, qui sera notre résultat. 1. Le programme doit atteindre seul l'information que nous souhaitons enregistrer et pour cela il doit suivre une suite de liens. On ajoute une fonction à l'aide de "Add new selector". Plusieurs champs à remplir s'affichent : * Id : il s'agit du nom de la fonction * Type : 11 paramètres possibles * Selector : contient trois options "**Select**" , "**Element preview**" , "**Data preview**" * Multiple : coché * Delay(ms) * Parent Selectors : pour l'instant il ne doit y avoir que **_root** Une fonction se définie, ici, par quatre grandes étapes :(1) un nom, (2) un type d'action, (3) la sélection de l'endroit dans la page où se trouve l'action à accomplir, (4) où se trouve la fonction dans la succession des opérations Voilà la fonction que nous proposons de réaliser * Id : **VerslesArticles** * Type : et bien nous souhaitons que le programme suive un lien dans le menu barre (>articles>Tous les articles) donc nous choisissons **Link** * On sélectionne **Select** et l'opération a effectuer, comme ceci : {{ :webscraperselect.png?200 |}} 2. Le programme doit se déplacer jusqu'aux billets On fabrique une nouvelle méthode qui va s'appliquer sur la nouvelle page (http://melenchon.fr/categorie/tous-les-articles/) dont voici les paramètres : * Id : **VerslesBillets** (l'idée est que le petit robot atteigne les billets) * Type : **Link** * Selector : **Select** C'est ici qu'il faut prendre garde ! Il faut garder la touche "contrôle" enfoncé pour séléctionner plusieurs "Lire la suite" , comme ceci : {{ :webscraperplusieursselect.png?200 |}} * Multiple : coché * Parent Selectors : **VerslesArticles** 3. Enfin il faut fabriquer les fonctions qui vont récupérer les informations que nous souhaitons importer et que l'on trouve sur la description et dans les billets du blog. Ainsi dans ce cas précis nous souhaitons : * titre (dans ce blog précisément faites attention à récupérer l'élément : div.base-box) * date * texte Pour chacun de ces éléments on doit ajouter une fonction ("Add new selector") 4. Dernier moment : lancer le petit programme > Sitemap(blogmelanchon) > Scrape > "Start scraping" et soyez patient === Cerise ? === {{rtemagicc_p-cerise.jpg.jpg?20 |}} Exporter son tableau en csv. > Sitemap> Export Data as csv > Download {{rtemagicc_p-cerise.jpg.jpg?20 |}} On peut exporter ses "sitemap" et donc les échanger (copier/coller le code suivant) : > {"startUrl":"http://melenchon.fr/","selectors":[{"parentSelectors":["_root"],"type":"SelectorLink","multiple":true,"id":"versArticles","selector":"ul.main-menu li#menu-item-800.menu-item a","delay":""},{"parentSelectors":["versArticles"],"type":"SelectorLink","multiple":true,"id":"VersBillet","selector":"a.read-more-link","delay":""},{"parentSelectors":["VersBillet"],"type":"SelectorText","multiple":false,"id":"Texte","selector":"div.base-box","regex":"","delay":""},{"parentSelectors":["VersBillet"],"type":"SelectorText","multiple":true,"id":"Titre","selector":"h1.post-tile","regex":"","delay":""},{"parentSelectors":["VersBillet"],"type":"SelectorText","multiple":false,"id":"Date","selector":"time.updated","regex":"","delay":""}],"_id":"blogmelanchon"} Vous pouvez ouvrir le fichier avec un éditeur, ou un tableur. Intéressant ? Il reste du travail !