r-如何刮谷歌新闻结果到一个数据帧与rvest



通过其他SO问题,我找到了如何获得标题,但我不知道谷歌代码将链接存储在哪里。

我想要一个2列的标题及其相应链接的数据框架。

library(rvest)
library(tidyverse)

dat <- read_html("https://news.google.com/search?q=coronavirus&hl=en-US&gl=US&ceid=US%3Aen") %>%
  html_nodes('.DY5T1d') %>% #
  html_text()
dat

经过大量的谷歌网页代码检查,我找到了我想要的东西。我也看到了这些描述,所以我基本上重新构建了谷歌新闻RSS提要。

library(rvest)
library(tidyverse)

news <- function(term) {
  
  html_dat <- read_html(paste0("https://news.google.com/search?q=",term,"&hl=en-US&gl=US&ceid=US%3Aen"))
  dat <- data.frame(Link = html_dat %>%
                      html_nodes('.VDXfz') %>% 
                      html_attr('href')) %>% 
    mutate(Link = gsub("./articles/","https://news.google.com/articles/",Link))
  
  news_dat <- data.frame(
    Title = html_dat %>%
      html_nodes('.DY5T1d') %>% 
      html_text(),
    Link = dat$Link
  )
  
  return(news_dat)
}
news("coronavirus")

最新更新