2016-07-06 4 views
0

extrahieren Ich möchte eine Umfrage über den Berichtszeitraum der Zeitschrift wissenschaftliche Berichte, http://www.nature.com/srep/articles. Ich möchte die Sendezeit und die Annahmezeit jedes Artikels innerhalb eines Zeitfensters (oder der letzten 100 Artikel) extrahieren. Gibt es einen Vorschlag, wie man das in R macht? Die Lösung kann einfach sein, aber ich habe R nie zuvor für das Scraping verwendet. Einige Hinweise können sehr hilfreich sein.Wie Informationen des Berichtszeitraums aus einem Journal mit R

Antwort

1

Hier ist, was Sie

Stellen Sie sich Ihren Links in einer CSV-Datei, die als einzige Änderung versuchen, kann ich in den Links finden Sie in der srepID am Ende ist, es zu tun, wie unten gezeigt:

> 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 

dann

führen Sie den folgenden Code:

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" 

Sie werden die Ergebnisse erhalten, wie:

> 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 

HINWEIS: Maximal die URLs, desto länger dauert die Zeit bis zum Abschluss des Codes. Die Seite erlaubt auch keine bösen Aktionen auf ihren Seiten, so dass sie Ihnen nicht alle Informationen geben kann, ohne einen alternativen Weg zu nehmen.

+0

Das funktioniert gut. Vielen Dank – yliueagle