如何使用R从期刊中提取评审期的信息

时间:2016-07-06 12:24:56

标签: r web

我想对期刊科学报告http://www.nature.com/srep/articles的审核期进行调查。我想在一个时间窗口(或最近的100篇文章)中提取每篇文章的提交时间和接受时间。有什么建议在R中如何做到这一点?解决方案可以很简单但我之前从未使用过R进行网络抓取。一些提示可能非常有用。

1 个答案:

答案 0 :(得分:1)

这是您可以尝试的内容

在csv文件中编译您的链接,因为我在链接中看到的唯一更改是最后的srepID,如下所示:

> head(links)
                                     links
1 http://www.nature.com/articles/srep20000
2 http://www.nature.com/articles/srep20001
3 http://www.nature.com/articles/srep20002
4 http://www.nature.com/articles/srep20003
5 http://www.nature.com/articles/srep20004
6 http://www.nature.com/articles/srep20005

然后运行以下代码:

    library(rvest)
links <- read.csv("link.csv",T,"~")



for (i in 1:nrow(links)) {

url <- read_html(as.character(links[i,1]))

#Upload

links[i,2] <- url %>% 
        html_node("dd:nth-child(2) time") %>%
        html_text() %>%
        as.character()

#Accepted

links[i,3] <- url %>% 
  html_node("dd:nth-child(4) time") %>%
  html_text() %>%
  as.character()



}

colnames(links)[2] <- "Received"
colnames(links)[3] <- "Accepted"

您将获得以下结果:

    > head(links)
                                     links         Received         Accepted
1 http://www.nature.com/articles/srep20000  15 October 2015 22 December 2015
2 http://www.nature.com/articles/srep20001  21 October 2015 22 December 2015
3 http://www.nature.com/articles/srep20002  20 October 2015 22 December 2015
4 http://www.nature.com/articles/srep20003 10 November 2015 22 December 2015
5 http://www.nature.com/articles/srep20004 15 November 2015 22 December 2015
6 http://www.nature.com/articles/srep20005 09 November 2015 22 December 2015

注意:最大化URL,完成代码所需的时间越长。该网站也不允许在其网页上执行双击操作,因此无法使用任何其他方式为您提供所有信息。