使用httr修改html / javascript代码

时间:2016-05-01 14:54:27

标签: r curl httr

我正在尝试制作一个脚本,用他们的alumni directory检查某人是否曾去过这所学校。 (您可以使用名称Francois Hollande(现任法国总统)来了解其行为)

据我所知(对于“name”(“nom”)按钮)我需要访问HTML代码的这一部分:

<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="Hollande" data-limit="" tabindex="-1" title="">
</div>

并在最后一个<input>标记中,将value属性更改为我要检查的名称。

然后,我必须在右侧的afficher les résultats(翻译:{{1​​}})上以某种方式“点击”。相关的HTML代码:

show results

然后我必须转到<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> 代码并检索<div class="people clearfix">代码:

<a href="...">

到目前为止,这是我的代码:

<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>

感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:0)

如果有人偶然发现这个问题,我发现有两个其他软件包可以抓取网站:rvestRSelenium。我选择了RSelenium,因为它似乎是最直接的:它会打开您的浏览器,您可以直接看到您在网页上执行的代码。

此外,这里有两个我发现非常有用的链接,第二个是RSelenium的简介:

http://ikkyle.com/webscraping_with_r.html

https://www.datacamp.com/community/tutorials/scraping-javascript-generated-data-with-r