title: convert a list with lists to a dataframe
body: <p>A website contains some reviews of books, which I would like to scrape with rvest. It's possible to get the data like this:</p>
  
  <pre><code>library(rvest)
  library(purrr)
  library(tibble)
  library(tidyr)
  library(dplyr)
  
  result_list &lt;-
    lapply(1:2, function(i) {
      url &lt;- paste0("http://www.deutschlandradiokultur.de/buchkritik.949.de.html?drbm:page=",         i)
      parse_url &lt;- 
        url %&gt;%
        xml2::read_html()
      parse_page &lt;-
        list(page = parse_url %&gt;% html_nodes("span.drk-paginationanzahl") %&gt;% html_text(),
             date = parse_url %&gt;% html_nodes(".drk-container") %&gt;% html_nodes(".drk-sendungdatum") %&gt;% html_text(),
             text = parse_url %&gt;% html_nodes(".drk-container") %&gt;% html_nodes(".drk-overline") %&gt;% html_text(),
             stringsAsFactors=FALSE) %&gt;%
        rbind()
    })
  </code></pre>
  
  <p>The length of "date" differ sometimes with "text", so I used list. Now I struggle to convert the list into a dataframe. Do you have some hints for me to converting the list? Maybe there is a more elegant way for webscrape to avoid these... The dataframe should have the columns "page", "date" and "text". (in a next step I split the content of text in author and title)</p>
  
  <p>I tried the approaches:</p>
  
  <pre><code>result_df1 &lt;-
    as.data.frame(do.call(rbind, result_list))
  
  result_df2 &lt;-
    as.data.frame(do.call(rbind, lapply(result_list, data.frame, stringsAsFactors=FALSE)))
  
  result_df3 &lt;-
    as.data.frame(Reduce( rbind, lapply(result_list, unlist) ))
  
  result_df4 &lt;-
    as.data.frame(lapply(result_list, unlist))
  
  result_df5 &lt;-
    lapply(result_list, tidyr::unnest)
  
  result_df6 &lt;-
    result_list %&gt;% purrr::dmap(unlist)
  
  result_df7 &lt;-
    result_list %&gt;%
    unlist(recursive = FALSE) %&gt;%
    tibble::enframe() %&gt;%
    unnest()
  </code></pre>
  
  <p>In result_df1 and  result_df2, the dataframe has a list in each cell. How it is possible to unlist these by column?
  I think a big problem is that the length differed per list element. How can I handle this? </p>
  
  <p>Example1 is similar to my problem with different length in the list. With equal length (example2) I struggle with a convertion to a dataframe too.</p>
  
  <pre><code>example1 &lt;- 
    list(structure(list("page 1/490",
                        c("a", "b", "c", "d"), 
                        c("author1: \"title1\"", "author2: \"title2\"", "author3: \"title3\"", "author4: \"title4\""), 
                        FALSE),   
                   .Dim = c(1L, 4L), 
                   .Dimnames = list(".", c("page", "date", "text", "stringsAsFactors"))), 
         structure(list("page 2/490", 
                        c("e", "f", "g"), 
                        c("author5: \"title5\"", "author6: \"title6\"", "author7: \"title7\"", "author8: \"title8\""),
                        FALSE),   
                   .Dim = c(1L, 4L), 
                   .Dimnames = list(".", c("page", "date", "text", "stringsAsFactors")))
  
  )
  
  
  example2 &lt;- 
    list(structure(list(c("a", "b", "c", "d"), 
                        c("author1: \"title1\"", "author2: \"title2\"", "author3: \"title3\"", "author4: \"title4\""), 
                        FALSE),   
                   .Dim = c(1L, 3L), 
                   .Dimnames = list(".", c("date", "text", "stringsAsFactors"))), 
         structure(list(c("e", "f", "g", "h"), 
                        c("author5: \"title5\"", "author6: \"title6\"", "author7: \"title7\"", "author8: \"title8\""),
                        FALSE),   
                   .Dim = c(1L, 3L), 
                   .Dimnames = list(".", c("date", "text", "stringsAsFactors")))
  
    )
  </code></pre>