メインコンテンツに移動
戯れ言の水溜まりΦ

メインナビゲーション

  • ホーム
ユーザーアカウントメニュー
  • ログイン

パンくず

  1. ホーム
  2. R
  3. めも

Rによる自動データ収集 読書めも4

By estis , 13 5月, 2018
  • コメントを投稿するにはログインまたは登録をしてください

p.320

start_session(root = "http://localhost:4444/wd/hub/", browser = "firefox")

で、browser = "firefox" だと、エラーが出るので、

https://sites.google.com/a/chromium.org/chromedriver/downloads

から、Chromedriver をダウンロードして、browser = "chrome" にすることにした。

> start_session(root = "http://localhost:4444/wd/hub/", browser = "chrome")
[1] "Started new session. sessionList created."
> post.url(url = "http://www.r-datacollection.com/materials/selenium/intro.html")
> get.url()
[1] "http://www.r-datacollection.com/materials/selenium/intro.html"
> page_title()
[1] "The Federal Contributions Database"
> buttonID <- element_xpath_find(value = "/html/body/div/div[2]/form/input")
> element_click(ID = buttonID)
> allHandles <- window_handles()
> window_change(allHandles[1])
 rawToChar(getURLContent(paste0(seleniumSession$sessionURL, "/window"),  でエラー: 
   引数 'x' は raw ベクトルでなくてはなりません 
> getURLContent(paste0(seleniumSession$sessionURL, "/window")
+ )
[1] "{\"sessionId\":\"91b4ba4356a57ec8497f3973cd7e6802\",\"status\":0,\"value\":\"CDwindow-268FE40834454ABD212F9FCCE422B65E\"}"
attr(,"Content-Type")
                              charset 
"application/json"            "utf-8" 
> yearID <- element_xpath_find(value = '//*[@id="yearSelect"]')
> monthID <- element_xpath_find(value = '//*[@id="monthSelect"]')
> recipID <- element_xpath_find(value = '//*[@id="recipientSelect"]')
> element_click(yearID)
> keys("2013")
[1] "{\"sessionId\":\"91b4ba4356a57ec8497f3973cd7e6802\",\"status\":0,\"value\":null}"
attr(,"Content-Type")
                              charset 
"application/json"            "utf-8" 
> element_click(monthID)
> keys("January")
[1] "{\"sessionId\":\"91b4ba4356a57ec8497f3973cd7e6802\",\"status\":0,\"value\":null}"
attr(,"Content-Type")
                              charset 
"application/json"            "utf-8" 
> element_click(recipID)
> keys("barack Obama")
[1] "{\"sessionId\":\"91b4ba4356a57ec8497f3973cd7e6802\",\"status\":0,\"value\":null}"
attr(,"Content-Type")
                              charset 
"application/json"            "utf-8" 
> submitID <- element_xpath_find(value = '//*[@id="yearForm"]/div/button')
> element_click(submitID)
> pageSource <- page_source()
> moneyTab <- readHTMLTable(pageSource, which = 1)
> colnames(moneyTab) <- c("year", "name", "party", "contributor", "state", "amount")
> moneyTab <- moneyTab[-1, ]
> head(moneyTab)
  year         name party             contributor state amount
2 2013 Barack Obama     D           ROBERTS, GARY    TX    -50
3 2013 Barack Obama     D    TOENNIES, MICHAEL MR    CO    -55
4 2013 Barack Obama     D           PENTA, NEELAM    NY   -100
5 2013 Barack Obama     D        VALENSTEIN, JILL    NY    -15
6 2013 Barack Obama     D SPRECHER KEATING, KAREN    DC   -100
7 2013 Barack Obama     D         FISCHER, DAMIEN    CA   -100

p.325 のデータ取得には成功しているが、

rawToChar(getURLContent(paste0(seleniumSession$sessionURL, "/window"), でエラー: 引数 'x' は raw ベクトルでなくてはなりません

というエラーが気になる。

Rによる自動データ収集

Comments1

estis

8 years 2ヶ月 前

window_change 関数を書き換えた

Comment

rawToChar(getURLContent(paste0(seleniumSession$sessionURL, "/window"), でエラー: 引数 'x' は raw ベクトルでなくてはなりません

は、window_change 関数を書き直すことで、出なくなった。

function (handle = NULL) 
{
    if (is.null(handle)) {
        stop("Missing handle")
    }
    rawToChar(getURLContent(paste0(seleniumSession$sessionURL, 
        "/window"), customrequest = "POST", httpheader = c(`Content-Type` = "application/json;charset=UTF-8"), 
        postfields = toJSON(list(name = handle))))
}

を

function (handle = NULL) 
{
    if (is.null(handle)) {
        stop("Missing handle")
    }
    getURLContent(paste0(seleniumSession$sessionURL, 
        "/window"), customrequest = "POST", httpheader = c(`Content-Type` = "application/json;charset=UTF-8"), 
        postfields = toJSON(list(name = handle)))
}

に変更した。

ブックナビゲーション

  • 関数
  • めも
    • A Layered Grammar of Graphics
    • HTTPSプロトコルでのWebページ読み込み R
    • R RWeka ロード時のエラー
    • R options()関数 出力内容
    • R plot() の ylim と、axis() の at, labels
    • R から Python を使う
    • R インストールしておきたいパッケージ
    • R グラフを画像として保存する
    • R ソースインストール
    • R データフレームをベクトルに変換する
    • R パッケージのインストール・読み込み
    • R パッケージの更新
    • R ファイルの文字コード確認
    • R ベクトル・行列の掛け算
    • R 全てのオブジェクトをsaveする
    • R 文字化け対策
    • R 有効桁数の変更
    • R 関数の引数を確認する
    • RPostgreSQL のインストール
    • RStudio Server インストール
    • RStudio で、データベースに接続する方法
    • RStudio ショートカットメモ
    • RWeka ロード時のエラー 再び
    • Rwebdriver インストール
    • Rではじめるデータサイエンス 1.2 第1ステップ 練習問題
    • Rではじめるデータサイエンス 1.3 エステティックマッピング 練習問題
    • Rによる自動データ収集 読書めも1
    • Rによる自動データ収集 読書めも2
    • Rによる自動データ収集 読書めも3
    • Rによる自動データ収集 読書めも4
    • Rのgrepなどで、( に一致させたい時
    • Rパッケージ ソースダウンロード
    • UsefulR 9 ドキュメント・プレゼンテーション生成 サポートページ
    • dygraph 数値表示をカンマ区切りにしたい
    • pandoc document conversion failed with error 61
    • rgeolocate パッケージ
    • sar コマンドの出力結果から、%iowait の状況を R でグラフにしたり分析したり
    • sar コマンドの出力結果から、%iowait の状況を R でグラフにしたり分析したり ggplot2 でグラフ描画
RSSフィード
Powered by 戯れ言の水溜まりΦ