【发布时间】:2020-04-02 15:24:24
【问题描述】:
我之前在这里发布过同样的问题,但是另一个帖子正在死去,我越来越绝望了。
我正在尝试使用 rvest 等来抓取网页。大多数东西都有效,但现在我需要 R 循环遍历链接列表,它给我的只是 NA。
这是我的代码:
install.packages("rvest")
site20min <- read_xml("https://api.20min.ch/rss/view/1")
urls <- site20min %>% html_nodes('link') %>% html_text()
我需要下一个,因为前两个链接 api 让我直接返回主页
urls <- urls[-c(1:2)]
如果我现在打印我的链接,它会给我一个包含 109 个链接的列表。
urls
现在这是我的循环。我需要它给我第一个 url 链接,以便我可以 read_html
我正在寻找类似的内容:“https://beta.20min.ch/story/so-sieht-die-coronavirus-kampagne-des-bundes-aus-255254143692?legacy=true”。
我使用 break 所以它只显示第一个链接,但我得到的只是 NA。
for(i in i:length(urls)) {
link <- urls[i]
break
}
link
如果我能做到这一点,我想我可以用 rvest 来处理剩下的事情,但我已经尝试了几个小时,但还是一无所获。
感谢您的帮助。
【问题讨论】:
-
是不是因为
i:length(urls)应该是1:length(urls)?更好的是,seq_along(urls)。
标签: r loops web-scraping rvest