【发布时间】:2017-02-06 18:38:16
【问题描述】:
这段代码的第一部分(直到“pages”)成功地检索到我要从中抓取的页面。然后,我正在努力寻找一种方法来提取带有相关日期的文章文本片段作为数据框。
我明白了:
UseMethod("read_xml") 中的错误: 没有适用于“c('xml_document', 'xml_node')”类对象的“read_xml”方法
也欢迎任何关于优雅、清晰和效率的指导,因为这是个人学习。
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
【问题讨论】:
标签: r web-scraping purrr rvest