LoginSignup
5
9

More than 5 years have passed since last update.

GCPにRStudio Serverを立ててRSeleniumでスクレイピング

Posted at

はじめに

前にRseleniumでWEBページのスクレイピングを行いました。(こちら)
手元のマシンで行うと、スクレイピング間隔をあけていることや、対象ページが多いことから、結構時間がかかってしまいます。
また、自分のマシンからやってBANされても嫌だなと思ってGCPからスクレイピングしてみました。
GCP初心者でしたが、GCPを用意し、RStudio ServerとRSelenium Serverを立ててスクレイピングを試みました。
メモ程度の内容です。

GCPの設定

GCEでVMインスタンスを立てました。

マシンタイプ:n1-standerd-1
ブートディスク:Ubuntu 16.04LTS
ファイヤウォール:HTTP/HTTPSトラフィックを許可するをチェック

Dockerを使ってRStudio Serverを立てる

GCPの設定

外部からアクセスできる様にファイヤウォールルールを設定しました。
設定のページがわかりにくかったです。

GCPトップページ → メニュー → ネットワーキングのVPCネットワーク → ファイヤウォールルール 

次の様な設定を作成しました。
 名前: allow-rstudio 
 トラフィックの方向: 上り
 ソースIPの範囲: 0.0.0.0/0
 指定したプロトコルとポート: tcp:8787
 ターゲットタグ: allow-rstudio

そして、インスタンスの設定でターゲットタグに「allow-rstudio」を追加します。

RStudio Serverを立てる

RStudioのdockerイメージにtokyor/rstudioを利用しました。

docker pull tokyor/rstudio
docker run -d -p 8787:8787 tokyor/rstudio

これでhttp://<インスタンスのグローバルIP>:8787にアクセスします。
Rstudio serverのログイン画面が出れば成功です。
次のusernameとpasswordでログインできます。

username: rstudio
password: rstudio

Dockerを使ってRSelenium Serverを立てる

GCPの設定

外部からアクセスできる様にファイヤウォールルールを設定しました。

名前: allow-selenium
トラフィックの方向: 上り
ソースIPの範囲: 0.0.0.0/0
指定したプロトコルとポート: tcp:4444
ターゲットタグ: allow-selenium

インスタンスの設定でターゲットタグに「allow-selenium」を追加します。

seleniumサーバーを立てる

dockerイメージを持ってきます。

docker pull selenium/standalone-chrome

dockerコンテナを立ててseleniumサーバーを立てます。

docker run -d -p 4444:4444 selenium/standalone-chrome

これでhttp://<インスタンスのグローバルIP>:4444にアクセスします。
seleniumのページが表示されれば成功です。

いざ、スクレイピング

あとは、RStudio Serverにアクセスして、前回記事の内容に従ってスクレイピングをおこないました。
いい感じに1年間分のスナップ情報を取得できました。

以上です。

参考

5
9
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
5
9