用R从tspan类标记HTML中提取文本/数字



我正试图从该网站提取当前生产编号http://okg.se/sv/Produktionsinformation/(在下面的蓝色区域(。

以下是我需要使用的HTML代码部分:

<tspan dy="0" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">518</tspan>

我使用的代码示例:

url <- "http://okg.se/sv/Produktionsinformation//"
download.file(url, destfile = "scrapedpage.html", quiet=TRUE)
content <- read_html("scrapedpage.html")
content %>% html_nodes(".content__info__item__value")

但我得到的结果表明,没有可用的节点:

{xml_nodeset (0)}

你对如何解决这个问题有什么想法吗?

提前感谢!

我不太确定您需要的值,但这项工作

librar(rvest)
# page url
url <- "http://okg.se/sv/Produktionsinformation/"
# current value
read_html(url) %>%
html_nodes(".footer__gauge") %>%
html_attr("data-current")
# Max value
read_html(url) %>%
html_nodes(".footer__gauge") %>%
html_attr("data-max")

您在浏览器中看到的html已由javascript处理,因此与您在rvest中看到的html不同。

您正在寻找的原始数据实际上存储在id为"gauge"的div的属性中,因此您可以得到这样的数据:

library(rvest)
#> Loading required package: xml2
"http://okg.se/sv/Produktionsinformation//" %>%
read_html()                                 %>%
html_node("#gauge")                         %>% 
html_attrs()                                %>%
`[`(c("data-current", "data-max"))
#> data-current     data-max 
#>        "553"       "1450"

请注意,您不需要将html保存到本地驱动器来处理它。您可以通过将url提供给read_html直接从互联网上读取它

由reprex包(v0.3.0(于2020-02-20创建

最新更新