首页 > 解决方案 > 如何使用 XPATH 在跨度类下创建所有文本的连接字符串

问题描述

我无法从我正在寻找的跨度类中正确收集数据。我想为所有这些跨度类中的所有文本创建一个列表(或者实际上是一个组合字符串)。

我正在查看的类嵌入在其他类下,但从我目前得到的输出看来,我的代码能够定位类的出现次数,而不是提取文本。

<div class="author-group" id="author-group">
    <a class="author size-m workspace-trigger" name="bau2" href="#!">
        <span class="content">
            <span class="text given-name">Jane</span>
            <span class="text surname">Doe</span>
            <span class="author-ref" id="baff1">
    <sup>a</sup></span></span></a>

如上所示,它们都在它们自己的之下,并且它们都在相同的 .

由此,我希望能够得到 Jane Doe。此类重复多次,最终目标是获得“Jane Doe;Sam Smith;Joe Gregory”。到目前为止,这是我的相关代码。

doc <- read_html(x) 
just_scripts <- html_nodes(doc, "script") %>% html_text()
sur_author = html_nodes(doc, xpath = '//span[@class="text surname"]/text()') %>% 
    html_attr('content')
given_author = html_nodes(doc, xpath = '//span[@class="text given-name"]/text()') %>% 
    html_attr('content')
Given_Author <- paste(given_author, collapse=" ; ")
Sur_Author <- paste(sur_author, collapse=" ; ")

在此函数之外,我将代码写入 Excel 电子表格,得到如下结果: NA ; 不适用;不适用

它似乎能够确定有多少作者,并为每个作者正确创建一个空间,但它无法将作者姓名的实际文本提取到我的文件中。

标签: htmlrxpath

解决方案


推荐阅读