4
4

More than 5 years have passed since last update.

shinyapps.io のアプリを収集する #rstatsj

Last updated at Posted at 2014-12-21

※Shiny アプリを収集してツイートする Twitter Bot 作りました
https://twitter.com/ShinyappsRecent

shinyapps.io で公開されている Shiny アプリを収集しようと思って、rvest で Google の検索結果をクローリングしようとしたら、403 Forbidden が出てしまいます。
仕方がないので Custom Search API を使って収集してみました。
ただし、API 制限が強いので 100 件しか集められなった。

R
library(dplyr)
library(jsonlite)
library(stringr)

start_seq <- seq(1, 100, by = 10)

cx <- "012116360379294605888:vh3a8gftaj4"
key <- {YOUR_API_KEY}

result <- data.frame()
for(start in start_seq) {
  cat(start, "/ 100\n")
  url <- sprintf("https://www.googleapis.com/customsearch/v1?q=shiny&start=%d&cx=%s&key=%s", start, cx, key)

  json <- fromJSON(url)
  Sys.sleep(1)

  result <- rbind(result, data.frame(title=json$items$title, link=json$items$link))
}

result <- result %>% mutate(user=result$link %>% str_split("(\\/|\\.)") %>% Map(function(x) x[3], .) %>% unlist)

write.csv(result, "shinyapps_sites.csv", row.names=FALSE)

結果のファイルはこちらです。

追記

urlsort=date を付けて新しい順で検索した結果を追加

結果のファイルはこちらです。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4