2015-10-28 1 views
3

Je souhaite effectuer une recherche dans la bibliothèque ACM Digital à l'aide du code R, en extrayant au moins les métadonnées, y compris les résumés, et au mieux le texte intégral. Je sais que les bibliothèques rOpenSci fournissent des packages R et des fonctions pour accéder à IEEEExplore et à d'autres services de données documentaires et que ceux-ci fonctionnent très bien, mais comme ACM Digital Library ne fournit pas encore d'API, il n'a pas été possible de développer rOpenSci code pour accéder aux ressources de la bibliothèque numérique ACM de R.ACM Accès à la bibliothèque numérique avec R - Aucune API, alors comment?

Ma question est de savoir quelqu'un un moyen de contourner ce problème? Existe-t-il des alternatives permettant l'accès programmé au contenu de la bibliothèque numérique ACM?

Merci Sam

+1

Ils sont dans l'API Crossref, voir leurs informations sur les membres ici http://api.crossref.org/members/320, et peuvent obtenir la liste des articles avec http://api.crossref.org/members/320/ travaux. Je ne pense pas qu'ils fournissent des liens vers le texte intégral dans cette API, mais la plupart des éditeurs ne le font pas. Cet éditeur a-t-il des articles OA? Fournissent-ils du XML? Pouvez-vous donner par exemple une URL pour un article. – sckott

+0

Si elles sont indexées dans Pubmed c'est un moyen d'obtenir le texte intégral, mais je ne vois aucun de leurs dans leur – sckott

+0

OK Très bien - je vais regarder dans crossref plus loin (rOpenSci a un paquet pour eux). En réponse à vos questions - oui, je crois qu'ils ont un petit nombre d'articles OA, mais surtout ils seraient payants à voir (comme IEEEExplore). Pas sûr de XML - Je ne crois pas qu'ils aient encore une API. Voici un exemple de lien vers une page: http://dl.acm.org/citation.cfm?id=2744205&CFID=725072532&CFTOKEN=34344684 – smfrgsn

Répondre

1

J'ai promis un exemple de code pour la recherche de la bibliothèque numérique ACM avec rcrossref.

install.packages('rcrossref') 
library(rcrossref) 

data = cr_members(member_id = 320, limit = 500, works = TRUE, query = "games") 
df = data.frame(data$data) 
df$container.title 
df$title 
table(df$type) 

Merci pour votre commentaire.

Mais mon problème est que:

data$meta 

montre un résultat global d'environ 2637 quand dl.acm.org montre au sujet de 133279.

J'ai trouvé une page qui indiquait que l'ACM participait à un projet pilote - donc peut-être qu'ils n'ont pas encore mis toute la base de données en crossref.

Et oui - pas de résumés - bummer. Mais il existe des liens vers le texte intégral en XML.