我正在尝试使用 R 中的 rvest 在 html 文档中搜索节点。在下面的代码中,我想知道当“s_BadgeTop*”丢失时如何返回 NULL 或 NA。它仅用于学术目的。
<div style="margin-bottom:0.5em;"><div><div style="float:left;">Por </div><div style="float:left;"><a href="/gp/pdp/profile/XXX" ><span style = "font-weight: bold;">JOHN</span></a> (UK) - <a href="/gp/cdp/member-reviews/XXX">Ver todas las opiniones</a><br /><span class="cmtySprite s_BadgeTop1000 " ><span>(TOP 1000 COMENTARISTAS)</span></span></div></div></div>
<div style="margin-bottom:0.5em;"><div><div style="float:left;">Por </div><div style="float:left;"><a href="/gp/pdp/profile/YYY" ><span style = "font-weight: bold;">MARY</span></a> (USA) - <a href="/gp/cdp/member-reviews/YYY">Ver todas las opiniones</a><br /></div></div></div>
<div style="margin-bottom:0.5em;"><div><div style="float:left;">Por </div><div style="float:left;"><a href="/gp/pdp/profile/ZZZ" ><span style = "font-weight: bold;">CANDICE</span></a> (UK) - <a href="/gp/cdp/member-reviews/ZZZ">Ver todas las opiniones</a><br /><span class="cmtySprite s_BadgeTop500 " ><span>(TOP 500 COMENTARISTAS)</span></span></div></div></div>
我需要一个具有这种结构的data.frame:
- 约翰(前 1000 名评论员)
- 玛丽娜
- 坎迪斯(前 500 名评论员)
我试过这段代码:
name <- pg %>%
html_nodes(xpath='//a[contains(@href,"/gp/pdp/profile/")]') %>%
html_text
status <- pg %>%
html_nodes(xpath='//span[contains(@class,"cmtySprite s_BadgeTop")]') %>%
html_text
status[is.na(status)] <- "NA"
但是 status[is.na(status)] <- "NA" 不起作用。
我得到这个输出:
- 约翰(前 1000 名评论员)
- 玛丽(前 500 名评论员)
- 坎迪斯(前 1000 名评论员)
谢谢!