gpt4 book ai didi

rvest 包 - 如果没有找到属性,html_text() 是否可以存储 NA 值?

转载 作者:行者123 更新时间:2023-12-01 09:22:42 24 4
gpt4 key购买 nike

正如标题所述,我很好奇 rvest 包中的 html_text() 函数是否可以存储 NA 如果无法在特定页面上找到属性,则为值。

我目前正在对 199 页进行抓取(效果很好;已经在一些变量上进行了测试)。

目前,当我搜索仅存在于 199 个页面中的一部分 (136) 上的值时,html_text() 仅返回 136 个字符串的向量。这没有用,因为没有 NAs 我无法确定哪些页面包含有问题的变量。

我看到 html_atts() 能够接收 default 输入,但不能接收 html_text()。有什么建议吗?

非常感谢!

最佳答案

如果您创建一个新函数来包装错误处理,它将保持 %>% 管道更清洁,并且更容易为您 future 的自己和其他人理解:

library(rvest)

html_text_na <- function(x, ...) {

txt <- try(html_text(x, ...))
if (inherits(txt, "try-error") |
(length(txt)==0)) { return(NA) }
return(txt)

}

base_url <- "http://www.saem.org/membership/services/residency-directory?RecordID=%d"

record_id <- c(1291, 1000, 1166, 1232, 999)

sapply(record_id, function(i) {

html(sprintf(base_url, i)) %>%
html_nodes("#drpict tr:nth-child(6) .text") %>%
html_text_na %>%
as.numeric()

})

## [1] 8 NA 10 27 NA

此外,通过对 record_id 的向量执行 sapply,您会自动获得一个向量,返回您尝试提取的任何值。

关于rvest 包 - 如果没有找到属性,html_text() 是否可以存储 NA 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30721519/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com