我是一个新手,我正尝试从this网站上进行剪贴,以获取多年来的所有版本。
我一直在使用rvest
和一个选择器小工具,但这没用。有什么建议吗?
library(rvest)
library(purrr)
library(xml2)
library(textreadr)
url_base <- "https://rss.onlinelibrary.wiley.com/toc/14679868/2018/80/%d"
map_df(1:5, function(i){
page <- read_html(sprintf(url_base, i))
data.frame(VolumeID=html_text(html_nodes(page, ".loi-tab-item")),
IssueID= html_text(html_nodes(page, ".visitable")),
Heading=html_text(html_nodes(page, ".issue-items-container+
.issue-items-container h2")),
Author=html_text(html_nodes(page, " .author-style")),
DOI= html_text(html_nodes(page, ".epub-doi")))
}) -> royal2018
答案 0 :(得分:1)
欢迎您!
第二个URL似乎还可以,所以这里有一些提示开始,我不知道您想做什么,也许是抓取了一些信息,所以我们开始吧。
首先,您可以使用选择器小工具查找要刮取的零件,然后可以按照以下方式进行操作:
onGoToMyCartPressed = () => {
// CHange the page once the order has been craeted
this.createOrder().then(() => {
this.props.navigation.navigate("Cart", { order: this.state.order });
})
};
现在,对于每个页面,您都可以获取所需的内容:
# your url
url <- "http://www.biometria.ufla.br/index.php/BBJ/issue/archive"
# get all the links in the page
pages_data <- url %>% read_html() %>%
html_nodes('.title') %>%
html_attr('href')
对于作者:
# titles
titles <- list() # empty list
for (i in pages_data[1:2]) { # remove the [1:2] to get all the links
titles[[i]] <- i %>%
read_html() %>%
html_nodes('.media-heading a') %>%
html_text()
Sys.sleep(10) # important to not pull too much requests in few time
}
以此类推。现在,您可以根据需要组合它们,并进行清理。