我曾经有一个能够从google news刮掉标题的函数,但是似乎他们改变了CSS或其他内容。它不再起作用了。
这是我修复它的最接近的尝试:
library('rvest')
library('tidyverse')
headlines <- function(){
message("Here are some of today's headlines:")
html <- read_html("https://news.google.com/news/?ned=us&gl=US&hl=en")
headlines = html %>%
html_nodes(".SbNwzf") %>%
html_text()
for(i in 1:10){
cat(paste("\t",headlines[i],"\n\n"))
Sys.sleep(1.3)
}
headlines
}
headlines()
这与我想要的非常接近,但我希望仅获得头条新闻。看来这也正在获得文章的第一部分。
此外,如果有人能够获得每个框的顶部标题,那将是更好的选择。正在尝试节点“ .VDXfz”,但它返回空白。我正在使用selector gadget
谢谢!
答案 0 :(得分:0)
这是最终起作用的地方:
headlines <- function(){
message("Here are some of today's headlines:")
html <- read_html("https://news.google.com/news/?ned=us&gl=US&hl=en")
headlines = html %>%
html_nodes('.DY5T1d') %>% # <-- THIS
html_text()
for(i in (0:9)*5+1){ # PRINT EVERY 5TH ENTRY
cat(paste("\t",headlines[i],"\n\n"))
Sys.sleep(1.3)
}
}
不幸的是,这取决于Google新闻,其中保留一个主题的领先文章和4个支持文章的格式。我仍然无法为主要文章识别标记,因此我可以单独挑选它们。