试图在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”对象的方法不客气,希望你也找到了正确的答案。