向在座的专业人士问好,
我已经创建了一个csv,它由城市和相应的Tripadvisor_Urls组成。如果我现在在我的列表中搜索一个特定的链接,例如这里到慕尼黑,subset函数将弹出URL。现在,我尝试使用read_html读取这个存储在search_url下的URL。不幸的是没有成功。
我代码的相关部分如下所示。
search_url <- subset(data, city %in% "München", select = url)
pages <- read_html(search_url)
pages <- pages %>%
html_nodes("._15_ydu6b") %>%
html_attr('href')当我运行search_url时,我得到以下输出:
https://www.tripadvisor.de/Restaurants-g187323-Berlin.html但是当我使用上面的代码并想要执行read_html时,出现了以下错误:
Error in UseMethod("read_xml") :
no applicable method for 'read_xml' applied to an object of class "data.frame"我现在已经在上面花了几个小时,但不幸的是,我还没有收到任何合适的提示。如果你能在这里帮我,那就太好了。
发布于 2020-06-15 04:08:46
这是因为subset()的结果在这里是一个数据帧,尽管实际结果只是一个字符串。用mtcars检查这个简单的示例
# this will be data.frame although the result is one numeric value 21.4
class(subset(mtcars, disp == 258, select = mpg))
# [1] "data.frame"所以你可能可以使用
pages <- read_html(as.character(search_url))如果确定子集仅返回1个字符值,则为
pages <- read_html(search_url[1, 1])应该同样适用于子集的第一个结果。
https://stackoverflow.com/questions/62377479
复制相似问题