R 中的网页抓取:为什么我的循环 return 不适用?

Webscraping in R: Why does my loop return NA?

我之前在这里发布过同样的问题,但另一个帖子快死了,我越来越绝望了。

我正在尝试使用 rvest 等抓取网页。大部分内容都有效,但现在我需要 R 循环遍历 links 的列表,它给我的只是 NA。

这是我的代码:

install.packages("rvest")

site20min <- read_xml("https://api.20min.ch/rss/view/1")

urls <- site20min %>% html_nodes('link') %>% html_text()

我需要下一个,因为前两个 link api 让我直接回到主页

urls <- urls[-c(1:2)]

如果我现在打印 links,它会给我一个包含 109 links 的列表。

urls

现在这是我的循环。我需要它给我第一个 link 的网址,这样我就可以 read_html 它

我正在寻找类似于:“https://beta.20min.ch/story/so-sieht-die-coronavirus-kampagne-des-bundes-aus-255254143692?legacy=true”的内容。

我使用 break 所以它只显示第一个 link 但我得到的只是 NA.

for(i in i:length(urls)) {
  link <- urls[i]
  break
} 
link

如果我能做到这一点,我想我可以用 rvest 处理剩下的事情,但我已经尝试了几个小时,但还是一无所获。

谢谢你的帮助。

你能试试吗

for(i in 1:length(urls)) {
  link <- urls[i]
  break
} 
link

代替?