此代码的第一部分(最多“页面”)成功检索了我要从中抓取的页面。然后,我正在努力寻找一种方法来提取带有相关日期的文章文本片段作为数据框。
我得到:
UseMethod(“read_xml”)中的错误:没有适用于“read_xml”的方法应用于类“c('xml_document','xml_node')”的对象
也欢迎任何关于优雅、清晰和效率的指导,因为这是个人学习。
library(rvest)
library(tidyverse)
library(plyr)
library(stringr)
llply(1:2, function(i) {
read_html(str_c("http://www.thetimes.co.uk/search?p=", i, "&q=tech")) %>%
html_nodes(".Headline--regular a") %>%
html_attr("href") %>%
url_absolute("http://www.thetimes.co.uk")
}) -> links
pages <- links %>% unlist() %>% map(read_html)
map_df(pages, function(x) {
text = read_html(x) %>%
html_nodes(".Article-content p") %>%
html_text() %>%
str_extract(".+skills.+")
date = read_html(x) %>%
html_nodes(".Dateline") %>%
html_text()
}) -> article_df