ウェブスクレイピングをしてみたいと思い色々調べていると、Rにおいては、rvest
とRSelenium
パッケージを組み合わせてやれば良いらしい。rvest
は通常のパッケージと同様に使用可能ですが、RSelenium
は環境構築が必要だったので備忘録として残しておきます。
#RSelenium
WEB UIテストの自動化ツールであるSeleniumをRから実行できるパッケージ。
ローカルで立ち上げたSeleniumサーバを通して、ウェブページを操作することができます。
##環境構築
ローカルでSeleniumを立ち上げて、Google Chromeを利用してウェブページの操作を実施する場合。
Seleniumを利用する際は、操作したいブラウザに適したドライバを、OSに合わせてこちらの配布サイトよりダウンロードしてフォルダへ格納し、パスを通しておきます。
こんな感じでフォルダに一緒に格納。
#Seleniumサーバの立ち上げ
コマンドプロンプトを開き、格納したディレクトリへ移動した上で以下のように入力すれば、seleniumサーバが立ち上がります。
java -jar selenium-server-standalone-3.141.59.jar
うまくいっていれば~Selenium Server is up and running on port 4444、といったINFOが表示されていると思います。
#Rでの使用
サーバを立ち上げた状態が整えば、Rからの各種ウェブ操作が可能になります。
#立ち上げたいページのurl
url <- "https://www.google.co.jp/"
#ブラウザを立ち上げる
rem <- remoteDriver(port=4444L,browserName = "chrome")
rem$open()
#ブラウザで目的のページに移動する場合
rem$navigate(url)
その他RSeleniumの細かい各種操作については以下の記事に非常に分かりやすくまとまっています。
#参考ページ・本
- 「Rによるスクレイピング入門」C&R研究所
- [翻訳] RSelenium vignette: RSeleniumの基本
- ChromeDriver - WebDriver for Chrome
- Windowsの環境パスを通す(path)