首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R不将URL从数据读入Web-Crawler

R不将URL从数据读入Web-Crawler
EN

Stack Overflow用户
提问于 2020-06-15 03:50:37
回答 1查看 35关注 0票数 0

向在座的专业人士问好,

我已经创建了一个csv,它由城市和相应的Tripadvisor_Urls组成。如果我现在在我的列表中搜索一个特定的链接,例如这里到慕尼黑,subset函数将弹出URL。现在,我尝试使用read_html读取这个存储在search_url下的URL。不幸的是没有成功。

我代码的相关部分如下所示。

代码语言:javascript
复制
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时,我得到以下输出:

代码语言:javascript
复制
https://www.tripadvisor.de/Restaurants-g187323-Berlin.html

但是当我使用上面的代码并想要执行read_html时,出现了以下错误:

代码语言:javascript
复制
Error in UseMethod("read_xml") : 
  no applicable method for 'read_xml' applied to an object of class "data.frame"

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-15 04:08:46

这是因为subset()的结果在这里是一个数据帧,尽管实际结果只是一个字符串。用mtcars检查这个简单的示例

代码语言:javascript
复制
# this will be data.frame although the result is one numeric value 21.4
class(subset(mtcars, disp == 258, select = mpg))
# [1] "data.frame"

所以你可能可以使用

代码语言:javascript
复制
pages <- read_html(as.character(search_url))

如果确定子集仅返回1个字符值,则为

代码语言:javascript
复制
pages <- read_html(search_url[1, 1])

应该同样适用于子集的第一个结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62377479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档