R での Web スクレイピングの最初の演習では、販売されているオペラのチケットを検索して、最終的に最良の取引を見つける方法を見つけようとしています。私は2つのことをしたいと思います:
- カテゴリと価格のテーブルを作成して、任意のカテゴリで最高の価格を検索できるようにします
- 最良の取引 (カテゴリごとの価格) の http アドレスへのリンクを保存します。
私が遭遇した問題は、15 個の観測値しか表示できないということですが、表はさらに大きくなる可能性があります。
library(rvest)
rmSpace <- function(x){
x<-gsub("\t","",x)
x<-gsub("\n","",x)
}
page <- url %>% html()
date <- page %>%
html_nodes(".date-tabdyn") %>%
html_text()
date <- date[-1]
date <-rmSpace(date)
category <- page %>%
html_nodes(".td_description .bold") %>%
html_text()
category<-rmSpace(category)
description <- page %>%
html_nodes(".td_description") %>%
html_text()
description <- description[-1]
description <- rmSpace(description)
price <- page %>%
html_nodes(".valeur_revente .montant-numeric") %>%
html_text()
price_normal <- page %>%
html_nodes(".valeur_faciale .montant-numeric") %>%
html_text()
links <- page %>% html_nodes(".button_eae9e5") %>% html_attr("onclick")
links <- substr(links,31,nchar(links)-2)
tab <- cbind(category, price, price_normal, date, description, links)
更新: rvest を使用して素敵なテーブルを取得できましたが、15 ビューの制限を解決する方法がわかりません。
更新 2: json ファイルを返す POST 要求があるようです。それを使用して、より大きなテーブルを返すことができると思いますが、その方法がわかりません。