オバマのスペシャルページをウェブスクラップして、ワードクラウドなどを作成しようとしています。 1、5、10の異なるページ(スピーチ) 、ループではなく、分離して、コードが動作します。しかし、私が作成したこのループでは、結果のオブジェクトには何も含まれていません(NULL
)。r(ループ付き)のウェブスクレイピング
誰かが私を助けることができますか?
library(wordcloud)
library(tm)
library(XML)
library(RCurl)
site <- "http://obamaspeeches.com/"
url <- readLines(site)
h <- htmlTreeParse(file = url, asText = TRUE, useInternalNodes = TRUE,
encoding = "utf-8")
# getting the phrases that will form the web adresses for the speeches
teste <- data.frame(h[42:269, ])
teste2 <- teste[grep("href=", teste$h.42.269...), ]
teste2 <- as.data.frame(teste2)
teste3 <- gsub("^.*href=", "", teste2[, "teste2"])
teste3 <- as.data.frame(teste3)
teste4 <- gsub("^/", "", teste3[, "teste3"])
teste4 <- as.data.frame(teste4)
teste5 <- gsub(">.*$", "", teste4[, "teste4"])
teste5 <- as.data.frame(teste5)
# loop to read pages
l <- vector(mode = "list", length = nrow(teste5))
i <- 1
for (i in nrow(teste5)) {
site <- paste("http://obamaspeeches.com/", teste5[i, ], sep = "")
url <- readLines(site)
l[[i]] <- url
i <- i + 1
}
str(l)
私は< '削除 - 1 'と'私は< - I + 1 'と'のためにあなたのループを変更する:私はsimliarプロセスをやってみたかった場合(I 1でnrow(teste5))' – HubertL