试图在r中搜索多个链接,但不知道

试图在r中搜索多个链接,但不知道,r,web-scraping,rvest,R,Web Scraping,Rvest,我是一个完全的新手,我正试图从网站上搜刮,以获得所有这些年的版本 我一直在使用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

我是一个完全的新手,我正试图从网站上搜刮,以获得所有这些年的版本

我一直在使用
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
库(rvest)
图书馆(purrr)
库(xml2)
图书馆(文本阅读器)
欢迎来到SO

第二个url似乎还可以,所以这里有一些提示开始,我不知道你想做什么,可能会抓取一些信息,所以我们开始

首先,您可以使用选择器小工具查找要刮取的零件,然后可以通过以下方式继续:

# 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') 
#您的url
url%
html_节点('.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  
                           }
#标题
头衔%
html_节点('.media heading a')%>%
html_text()
系统睡眠(10)#在短时间内不要拉太多请求很重要
}
对于作者:

authors <- list()
for (i in pages_data[1:2]) {
  authors[[i]] <- i %>%
                  read_html() %>%
                  html_nodes('.authors') %>%
                  html_text()
                  Sys.sleep(10)
                           }
作者%
html_节点('.authors')%>%
html_text()
系统睡眠(10)
}

等等。现在,您可以根据需要合并它们,并将它们清理干净。

您是否有合法权限废弃此网站?如果没有,你有访问API的权限吗?@NelsonGon网站的ToS中是否明确禁止网络垃圾?简单的ctrl+F组合键找不到任何值得注意的内容。MariaOliveira关于这项任务,你有什么特别的问题吗?现在,它似乎有点宽泛。@RomanLuštrik它不是很清楚。只是想确认一下。检查并发现ToS没有明确说明。也许可以帮助你知道你是否可以爬行或刮它。我不确定我是否有权限,这是大学的作业,我有点迷路了。我可能不得不去另一个网站。实际上我在UseMethod(“xml\u find\u all”)中遇到了一个错误:“xml\u find\u all”没有适用于类“character”对象的方法不客气,希望你也找到了正确的答案。