我有一些文本形式的数据,取自网页。它很长,但遵循以下形式:
<p><span class="monthyear">Jan 2001</span>
<br><b>Foo text (2)</b></p>
<p><span class="monthyear">Nov 2006</span>
<br><b>Bar text (29)</b>
<br><b>More bar text (4)</b>
<br><b>Yet more bar text (102)</b></p>
<p><span class="monthyear">Apr 2004</span>
<br><b>Further foo text (1)</b>
<br><b>Combination foo and bar text (41)</b></p>
我想将其相关部分提取到数据框中,如下所示:
monthyear info n
1 Jan 2001 Foo text 2
2 Nov 2006 Bar text 29
3 Nov 2006 More bar text 4
...但我不知道该怎么做。如果我在一个名为 text 的字符向量中有 html,我可以使用stringr包中的函数提取月份数据:
monthyear <- str_extract_all(
text[1],perl("(?<=\\\"monthyear\\\">).*?20[0-9]{2}")
)
我可以以相同的方式提取信息和n数据,但鉴于每个月年条目有多个信息和n条目,我不知道如何组合它们。我对这一切都错了吗?