我正试图从网站上收集大量总统演讲,以放入数据框中。
网站来源为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"