R:Web抓取和解析语句以创建从日期X到Y的数据框

时间:2018-11-24 18:51:31

标签: r web-scraping

我想从(https://www.basketball-reference.com/leagues/NBA_2017_transactions.html)的交易中创建一个表格,但仅从开始日期(这里恰好是2016年7月2日)到2016年10月31日。

该表是两个变量表,其中包含格式为Name \ refcode的Player Name和Player是否签署了多年合约的二进制文件。除了合同签名(例如交易)之外,还有更多的交易,但我不希望这些出现在数据框中。

我要创建的表如下所示:

Player                             Multi_Year.Contract
Ben Simmons\simmobe1               1
Timothe Luwawu-Cabarrot\luwawti01  1

我尝试使用rvest,xpathSapply和scrapeR,但是由于我的理解非常有限,我无法以这种方式对其进行格式化。使用rvest,我可以掌握所有句子,仅此而已。元素'p'附加了太多内容,它会收集整个页面,而不是从指定日期到另一个日期。我一直在研究正则表达式和类似的东西,但是对于初学者来说它们似乎太高级了。有没有简单的方法可以做到这一点?我想最重要的是,这甚至可以在R中完成吗?我打开了将近30个标签,试图解决这个问题,这让我发疯了,我对R有点陌生,我非常感谢预先提供的帮助。

这是所有碰巧都在第432行上的html代码示例:

 <li><span>July 2, 2016</span><p>The <a data-attr-to="PHI" href="/teams/PHI/2017.html">Philadelphia 76ers</a> signed <a href="/players/s/simmobe01.html">Ben Simmons</a> to a multi-year contract.</p><p>The <a data-attr-to="PHI" href="/teams/PHI/2017.html">Philadelphia 76ers</a> signed <a href="/players/l/luwawti01.html">Timothe Luwawu-Cabarrot</a> to a multi-year contract.</p></li><li><span>July 4, 2016</span><p>The <a data-attr-from="SAC" href="/teams/SAC/2017.html">Sacramento Kings</a> waived <a href="/players/b/butleca01.html">Caron Butler</a>.</p><p>The <a data-attr-from="SAC" href="/teams/SAC/2017.html">Sacramento Kings</a> waived <a href="/players/d/dukandu01.html">Duje Dukan</a>.</p></li><li><span>July 7, 2016</span><p>The <a data-attr-from="CHO" href="/teams/CHO/2017.html">Charlotte Hornets</a> traded <a href="/players/r/richama01.html">Malachi Richardson</a> to the <a data-attr-to="SAC" href="/teams/SAC/2017.html">Sacramento Kings</a> for <a href="/players/b/belinma01.html">Marco Belinelli</a>.</p><p>The <a data-attr-from="GSW" href="/teams/GSW/2017.html">Golden State Warriors</a> traded <a href="/players/b/bogutan01.html">Andrew Bogut</a> and a future 2nd round draft pick to the <a data-attr-to="DAL" href="/teams/DAL/2017.html">Dallas Mavericks</a> for a 2019 2nd round draft pick. (DAL has choice between 2019 or 2020) (DAL pick to GSW is top-55 protected)</p>

0 个答案:

没有答案