我正试图从该网站提取当前生产编号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创建