R 没有将 URL 从数据读入网络爬虫

R doesn't read in URL from data into Web-Crawler

各位专业人士大家好,

我创建了一个 csv,其中包含城市和相应的 Tripadvisor_Urls。如果我现在在我的列表中搜索特定的 link,例如这里到慕尼黑,子集函数会弹出 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"

我现在已经花了几个小时在上面,但不幸的是我没有在任何地方收到合适的小费。如果你能在这里帮助我,那就太好了。

那是因为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))

如果你确定你的子集returns只有1个字符值,否则

pages <- read_html(search_url[1, 1])

对于子集的第一个结果也应该有效。