Как скрепить результаты Новостей Google в data.frame с помощью rvest - PullRequest
0 голосов
/ 05 марта 2020

Посредством других вопросов SO я нашел, как получить заголовки, но я не знаю, где код Google хранит ссылки.

Я хочу 2-колоночный data.frame заголовков и их соответствующие ссылки.

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

1 Ответ

0 голосов
/ 05 марта 2020

После долгих проверок веб-кода Google я нашел то, что искал. Я также наткнулся на описания, поэтому я в основном пересоздал RSS-канал новостей Google.

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,
    Description =  html_dat %>%
      html_nodes('.Rai5ob') %>% 
      html_text()
  )

  return(news_dat)
}

news("coronavirus")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...