[解決済み] rvest open.connection(x, "rb")でのエラー:HTTPエラー404
2022-02-08 15:07:19
質問
rvestとpurrrを使ってウェブサイトをスクレイピングして多くのページからデータを抽出しようとしたのですが、コードを実行するたびに "Error in open.connection(x, "rb") : HTTP error 404." が表示されます。
url <- "http://books.toscrape.com/catalogue/page-%d"
map_df(1:10, function(i){
page <- read_html(sprintf(url, i))
cat(".")
booksdf <- data.frame(safely( title <- html_nodes(page, "h3, #title") %>% html_text(),
price <- html_nodes(page, ".price_color") %>% html_text() %>% gsub("£", "", .),
rating <- html_nodes(page, ".star-rating") %>% html_attrs() %>% str_remove("star-rating") %>%str_replace_all(c("One" = "1", "Two" = "2", "Three" = "3", "Four" = "4", "Five" = "5")) %>% as.numeric()
)
)
}
)
Error in open.connection(x, "rb") : HTTP error 404.
解決方法は?
スクレイピングするURLを作成し
map_df
を使用して、データフレームを結合しています。
library(tidyverse)
library(rvest)
url <- "http://books.toscrape.com/catalogue/page-"
pages <- paste0(url, 1:10, ".html")
map_df(pages, function(i){
page <- read_html(i)
data.frame(title = html_nodes(page, "h3, #title") %>% html_text(),
price = html_nodes(page, ".price_color") %>% html_text() %>%
gsub("£", "", .),
rating = html_nodes(page, ".star-rating") %>% html_attrs() %>%
str_remove("star-rating") %>%
str_replace_all(c("One" = "1", "Two" = "2",
"Three" = "3", "Four" = "4", "Five" = "5")) %>%
as.numeric())
})
# title price rating
#1 A Light in the ... 51.77 3
#2 Tipping the Velvet 53.74 1
#3 Soumission 50.10 1
#4 Sharp Objects 47.82 4
#5 Sapiens: A Brief History ... 54.23 5
#6 The Requiem Red 22.65 1
#7 The Dirty Little Secrets ... 33.34 4
#8 The Coming Woman: A ... 17.93 3
#.....
関連
-
[解決済み] 不適合な配列のコードエラー
-
[解決済み】「arguments imply differing number of rows: x, y」というエラーは何を意味するのか?
-
[解決済み】エラー:ベクターメモリの枯渇(制限に達したか) R 3.5.0 macOS
-
[解決済み】library(ggplot2)でエラー:'ggplot2'というパッケージは存在しません。
-
[解決済み] テスト
-
[解決済み】Rでの関数の最適化(L-BFGS-Bでは'fn'に有限の値が必要)。
-
[解決済み】 colMeans(x, na.rm = TRUE) のエラー : KNN分類では 'x' は数値でなければならない
-
[解決済み】 lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) のエラー : 'y' の NA/NaN/Inf, あらゆる方法を試したが解決しなかった。
-
[解決済み] [Solved] read.csv warning 'EOF within quoted string' prevents complete reading of file.
-
[解決済み】エラー - replacement has [x] rows, data has [y].
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】R:関数に有限な'ylim'値が必要
-
[解決済み] promise already under evaluation: recursive default argument reference or earlier problems?
-
[解決済み】xtsオブジェクトでエラー: "antempt to set 'colnames' on the object with less than two dimension "を克服する方法
-
[解決済み】 'height' はベクトルか行列でなければならない barplot のエラー
-
[解決済み] 不適合な配列のコードエラー
-
[解決済み】ggplotのエラー。関数型オブジェクトのスケールを自動的に選択する方法がわかりません。
-
[解決済み】bstTreeの予測値の混乱行列、エラー:'The data must contain some levels that overlap reference'.
-
[解決済み】RでAIC中に行数が変化するのはなぜですか?そうならないようにするにはどうしたらいいですか?
-
[解決済み] ヒートマップ作成時のエラー - 外部関数呼び出しでNA/NaN/Inf (arg 11)
-
[解決済み】エラー - replacement has [x] rows, data has [y].