Rvest vincula todos los comentarios del hilo del foro en un data.frame

Nicolás

Quiero recopilar comentarios del foro al data.frame. Quiero recopilar todos los comentarios de una URL a una fila. El número de comentarios no será igual (comentarios máximos = 3) así que quiero obtener "NA" en cualquier celda sin comentarios.

   library(rvest)
    library(xml2)
    library(qdapRegex)
    url_page <- c("http://medyczka.pl/forum-gastrologiczne/")
    web <- read_html(url_page)
    post_url <- web %>% html_nodes(css='.title') %>%
      html_attr('href') %>%
      as.character()
    post_url <-data.frame(post_url)

#Prepare df for all possible commentaries
posts_all <-data.frame()
#Let' make a simple function
for(i in 1:5){
  web2<-read_html(as.character(post_url[i,1]))
  posts <- web2 %>% html_nodes(css='.restore') %>%
    html_text() %>%
    as.character()
  posts <- rm_between(posts,'\r','\t', replacement="")
  posts_df <-data.frame(posts)
  posts_all <-rbind(posts_all,posts_df)
}
str(posts_all)

Sin embargo, obtuve 1 columna con 92 filas, en lugar de 5 filas hasta 30 comentarios (columnas).

#> str(posts_all)
#'data.frame':  92 obs. of  1 variable:
 #$ posts: Factor w/ 89 levels "Do tego potrzeba wiedzy a tu nie ma lekarzy. Radzę zapytać na innym forum medycznym.",..: 14 4 11 3 1 6 12 2 7 10 ...

¿Qué hice mal? ¿Cómo recopilar correctamente los datos?

Ryanhnkim

Te sugiero que investigues tidyversejunto con rvest. Este debería ser un buen comienzo para ti;

library(tidyverse)
library(rvest)

pg <- read_html('http://medyczka.pl/forum-gastrologiczne/')

tbl <- tibble(
        title = pg %>% html_nodes('.title') %>% html_text(),
        title_link = pg %>% html_nodes('.title') %>% html_attr('href')
        )

get_comment <- function(url) {

pg <- read_html(url)
tbl <- tibble( posts = pg %>% html_nodes('.restore') %>% html_text() %>% str_trim(),
               link = url
                ) %>% mutate(post_seq = seq_along(posts))
}

posts_all <- NULL

posts_all <-  map(tbl$title_link, get_comment) %>% bind_rows()

tbl_posts_all <- tbl %>% left_join(posts_all, by = c('title_link' = 'link'))

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Ver todos los comentarios en un video de YouTube

¿Cómo eliminar todos los comentarios del archivo específico en Android Studio?

Adición del sistema de comentarios de Facebook al sitio web de Squarespace: todos los comentarios terminan en cada página web

¿Cómo eliminar todos los comentarios del código fuente en mi solución c # con roslyn?

¿El uso del semáforo en el ejemplo de almacenamiento en búfer triple bloquea el hilo principal?

Inicio retrasado del hilo: notificar a todos que no se activan todos los hilos

Inicio retrasado del hilo: notificar a todos que no se activan todos los hilos

VSCode: elimina todos los comentarios en un archivo

VSCode: elimina todos los comentarios en un archivo

Hilo del consumidor de Java para esperar a que finalicen todos los subprocesos del productor

Actualización del estado en los métodos de IU desde un hilo que no es de IU

R: establece todos los valores del grupo en NA cuando un valor aparece más del 75% del tiempo

¿Cómo obtener los comentarios del código de un procedimiento / función almacenado y completarlos en una tabla?

Elimine todos los comentarios del archivo perl usando perl / PPR

Rails: la validación en los comentarios del blog no funciona

Problemas con los comentarios del documento

Problemas con los comentarios del documento

¿Puedo hacer referencia a los comentarios de propiedad en los comentarios del constructor?

Analizar los niveles de comentarios de las publicaciones del foro

¿Dónde debo almacenar los datos dependientes del hilo dentro de un componente receptor rabbitListener en un entorno multiproceso?

¿Cómo usar los datos del gráfico del hilo principal en lugar del hilo JavaFX?

Terminar un hilo desde dentro del hilo en C / C ++ sin el identificador del hilo

La ejecución del trabajo cron todos los meses y los resultados del comando deben estar en un archivo

Usando bash, ¿cómo cambiar el nombre de un archivo en función de los comentarios del script PHP?

reemplazar los datos históricos de un data.frame con los datos del año más reciente en R?

¿Cómo seleccionar los valores superior e inferior del 10% de un data.frame en R?

Aplicación del foro de Django, los comentarios no se actualizan en el lado del usuario, pero se pueden ver a través del administrador

¿Por qué los estilos no se aplican a todos los elementos del espacio en un componente web personalizado?

Obtenga todos los comentarios y responda a los comentarios en un solo SQL