2016-10-04 3 views
0

J'ai trouvé un script par un généreux camarade sur GitHub pour accéder à la page Speed ​​Insights si R.Utiliser R pour accéder à Google Page Speed ​​Insights

Cependant son scénario tire une poignée de variables du test. J'ai cherché partout pour la documentation ne peut rien trouver de plus. Est-ce que quelqu'un sait comment tirer plus de données fournies par pagespeed?

library(RJSONIO) 
library(gtools) 

#' Speed results for 1 URL 
#' 
#' The speedfinder function returns the Google Page Speed Insights test results for a single URL as a dataframe. 
#' speedfinder("https://www.cars.com","mobile",key) 


speedfinder <- function(url,strategy,key) { 
    pid <- RJSONIO::fromJSON(paste0("https://www.googleapis.com/pagespeedonline/v2/runPagespeed?url=",url,"&strategy=",strategy,"&key=",key)) 
    frame1 <- cbind(as.data.frame(pid[2]),as.data.frame(pid[3]),as.data.frame(pid[5]),as.data.frame(pid[6])) 
    rbind.data.frame(data.frame(), frame1,make.row.names=FALSE) 
} 



speedfinder2 <- function(url,strategy,key) { 
    pid <- RJSONIO::fromJSON(paste0("https://www.googleapis.com/pagespeedonline/v2/runPagespeed?url=",url,"&strategy=",strategy,"&key=",key)) 
    frame1 <- cbind(as.data.frame(pid[2]),as.data.frame(pid[3]),as.data.frame(pid[5]),as.data.frame(pid[6])) 
} 


speedlist <- function(pagelist,strategy,key) { 
    list1 <- lapply(pagelist,speedfinder2,strategy,key) 
    suppressWarnings(do.call("smartbind",list1)) 
} 

Répondre

0

Il existe une bonne description de l'API sur les pages Google PageSpeed ​​Insights, et même un sandbox d'essai ou un explorateur. Les champs mentionnés y comprennent:

url: l'URL pour récupérer et analyser (string)

filter_third_party_resources: Indique si les ressources de tiers doivent être filtrés avant l'analyse PageSpeed. (Booléen)

locale: Les paramètres régionaux utilisés pour localiser les résultats formatés (chaîne) règle

: Une règle de PageSpeed ​​à exécuter; si aucun sont donnés, toutes les règles sont gérées (string)

capture d'écran: Indique si les données binaires contenant une capture d'écran doivent être inclus (Boolean) stratégie

: La stratégie d'analyse à utiliser (string)

champs : Sélecteur spécifiant les champs à inclure dans une réponse partielle.

j'ai eu cette information de

https://developers.google.com/apis-explorer/#p/pagespeedonline/v2/pagespeedonline.pagespeedapi.runpagespeed.

Il y a un large aperçu au https://developers.google.com/speed/docs/insights/v2/getting-started, qui inclut un lien vers un tutoriel.

+1

Bien que ce lien puisse répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et fournir le lien pour référence. Les réponses à lien uniquement peuvent devenir invalides si la page liée change. - [À revoir] (/ review/low-quality-posts/13883624) – coatless

+1

Exactement! Edité avec quelques améliorations. – Joy