Hello,
J'essaie de faire (sous R avec le package httr, parce que je maîtrise suffisamment que PHP et ça) un script qui prend en entrée nom et prénom et regarde si la personne a fait certaines écoles, en allant consulter les annuaires publics de ces écoles. J'ai réussi facilement pour l'X, mais je galère pour sciences po, parce que leur annuaire) utilise du javascript (je crois).
1) Pour autant que je sache, pour le champ "nom", il faut que j'accède à cette partie du code html :
Code :
<div class="annuaireRecherche-v2" style="">
<span>Nom</span>
<div class="select2-container select2-allowclear autocomplete" id="s2id_PersonneNom" style="min-width: 0;">
<a href="javascript:void(0)" class="select2-choice" tabindex="-1"> <span class="select2-chosen" id="select2-chosen-3">Derez</span>
<abbr class="select2-search-choice-close"></abbr> <span class="select2-arrow" role="presentation">
<b role="presentation"></b>
</span>
</a>
<label for="s2id_autogen3" class="select2-offscreen"></label>
<input class="select2-focusser select2-offscreen" type="text" aria-haspopup="true" role="button" aria-labelledby="select2-chosen-3" id="s2id_autogen3" tabindex="0">
</div>
<input type="hidden" name="PersonneNom" id="PersonneNom" class="autocomplete" style="min-width: 0px; display: none;" data-placeholder="Saisir un nom" data-multiple="" data-libelle="" value="LeNomQueJeVeuxTester" data-limit="" tabindex="-1" title="">
</div>
|
2) et dans le dernier tag <input>, changer l'attribut value par le nom que je veux vérifier.
3) Ensuite, je dois "cliquer" (aucune idée de comment) sur
Code :
- afficher les résultats
|
sur la droite. Le code html de ce bouton :
Code :
- <div class="showResultsButton" style="text-align: center; display: block;">
- <a href="#" class="jqueryButton ui-button ui-widget ui-state-default ui-corner-all ui-button-text-icon-primary" onclick="showResultList($('.shortResults')); return false;" role="button">
- <span class="ui-button-icon-primary ui-icon ui-icon-search"></span>
- <span class="ui-button-text">
- Afficher les résultats
- </span>
- </a>
- </div>
|
4) Et enfin, aller au tag <div class="people clearfix"> et récupérer le contenu des tags <a href="...">
Code :
- <div class="people clearfix">
- <div class="tab_result" style="clear:both">
- <div class="ppl">
- <div class="ppl-wrap clearfix" style="clear:both">
- <div class="ppl-image">
- <a href="/profil/francois.hollande74" target="_blank">
- <img alt="" src="/ressources/temp/100_120t121_153006959_inconnu.jpeg">
- </a>
- </div>
- <div class="ppl-content">
- <h3>
- <a href="/profil/francois.hollande74" target="_blank">Hollande François</a>
- </h3>
- <p class="meta">D Service Public Promo 1974</p>
- <p></p>
- </div>
- <div class="ppl-content" style="float:right"></div>
- </div>
- <p class="buttons">
- <a class="button " href="/profil/francois.hollande74" target="_blank">
- Voir le profil
- </a>
- </p>
- </div>
- </div>
- </div>
|
Le problème, c'est que, à l'étape 2, je ne sais pas comment modifier le contenu de l'attribut et envoyer ça au serveur. Mon code jusqu'ici
Code :
- library(XML)
- library(httr)
- library(foreach)
- url <- "http://www.sciences-po.asso.fr/gene/main.php?base=1244"
- response <- GET(url)
- doc <- content(response, type="text/html", encoding = 'ISO-8859-1')
- parseddoc <- htmlParse(doc)
-
- # je dois modifier le contenu de ça
- xpathApply(parseddoc, "//*[@id='PersonneNom']/@value" )
- # et m'assurer que c'est envoyé au serveur, puis récupérer le code renvoyé en retour, etcaetera...
|
Si quelqu'un a une idée de comment faire ça ?
Merci d'avance
Message édité par saint malo le 11-05-2016 à 20:26:39