尝试通过Web废弃r中的多个链接,但一无所知

时间:2019-06-03 05:35:11

标签: r web-scraping rvest

我是一个新手,我正尝试从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

1 个答案:

答案 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  
                           }

以此类推。现在,您可以根据需要组合它们,并进行清理。