口コミからプロバイダの速度を比較する
プロバイダわからん。
とりあえず下りの速度が遅すぎなければいい。
ということで口コミサイトの結果から比較する。
以下書きなぐりコード。
library(rvest) library(dplyr) library(tidyr) library(stringi) # 以下よりソースをダウンロード # http://netspeed.studio-radish.com/cgi-bin/netspeed/openresult/openresult.cgi dat <- read_html("~/downloads/result.html") numbers <- dat %>% html_nodes(xpath="//*[contains(@class,'graphmarker')]") %>% html_text() tags <- dat %>% html_nodes(xpath="//nobr") %>% html_text() detail <- dat %>% html_nodes(xpath="//*[contains(@class,'speeddata2')]") %>% html_text() result <- data.frame(type = tags[tags %in% c("上り","下り")], speed = gsub("Mbps|kbps", "", numbers) %>% as.numeric(), stringsAsFactors = FALSE) result$speed <- if_else(grepl("kbps",numbers),result$speed/1000, result$speed) # 下りの時にインクリメント i <- 0 result$num <- NA for(n in seq_len(nrow(result))){ if(result$type[n]=="下り"){ i <- i + 1 result$num[n] <- i }else{ result$num[n] <- i } } result_s <- result %>% spread(key=type, value=speed) result_s$detail <- gsub("\\n|\\t", "", detail) result_s$provider <- result_s$detail %>% stri_replace_first_regex(".+プロバイダ\\: (.*)測定地.+$","$1") result_s$provider <- ifelse(grepl("使用回線", result_s$provider), NA, result_s$provider) final <- result_s %>% group_by(provider) %>% summarise(count=n(), mean_上り=mean(上り), max_上り=max(上り), min_上り=min(上り), median_上り=median(上り), mean_下り=mean(下り), max_下り=max(下り), min_下り=min(下り), median_下り=median(下り) ) library(openxlsx) write.xlsx(final, "プロバイダ間比較.xlsx")