我想将多个语音收集到一个数据框中

时间:2019-07-17 21:15:55

标签: r rvest purrr

我正试图从网站上收集大量总统演讲,以放入数据框中。

网站来源为https://www.gov.za/speeches

我希望数据集包括URL来源,每个演讲的标题,网站上提供的每个演讲的日期以及实际提供的演讲文字。

我遇到的问题是

我想收集搜索返回的所有语音。因此,我需要通过网络抓取多个页面。 我需要确保数据框具有网页上提供的所有元素,例如标题和日期。 因为我是一名政治专业的学生,​​所以我才刚开始接受R,所以请保持温柔!

我尝试使用一些示例,但是我不确定如何将它们准确地应用于我的特定问题。每次输入打击代码时,我看到的都是另一个+符号。请在下面查看我的代码。

library(rvest)    
library(tidyverse)
library(purrr)




html_source <- "https://www.gov.za/speeches/"


map_df(1:610, function(i) {  

cat(".")

pg <- read_html(sprintf(html_source, i))

data.frame(title=html_text(html_nodes(pg, ".views-row-first a")),
           text=html_nodes("td a") %>%
                  html_attr("href"),
           date=html_text(html_nodes(pg, ".date-display-single" )),
           stringsAsFactors = FALSE) 

}) -> SAspeeches

这是返回的内容。

 Error in UseMethod("xml_find_all") : 
  no applicable method for 'xml_find_all' applied to an object of class "character"

0 个答案:

没有答案