3

ウィキペディアのページをスクレイピングしようとしていますが、これは私が以前に何度も行ったようなものです

library(XML)
myURL <- "http://en.wikipedia.org/wiki/List_of_US_Open_MenUs_Singles_champions"
y <- readHTMLTable(myURL,  stringsAsFactors = FALSE)

RStudio または標準 GUI で R がクラッシュする

同様の問題に関する他のSOコメントは、readLinesの使用を提案しました

u=url(myURL)
readLines(u) #  cannot open: HTTP status was '404 Not Found'

URLは実際にリダイレクトされるので最終URLを入力

myURL <- "http://en.wikipedia.org/wiki/List_of_US_Open_Men%27s_Singles_champions"

今回は readLines はページを出力しますが、htmlParse を含む XML 関数を使用すると、依然としてクラッシュが発生します

ティア

4

1 に答える 1

3

httrWebスクレイピングの問題を解決する上で、このパッケージが非常に貴重であることがわかりました. この場合、Wikipedia はコンテンツをブロックするため、ユーザー エージェント プロファイルを追加する必要があります。

library(httr)
library(XML)
myURL <- "http://en.wikipedia.org/wiki/List_of_US_Open_Men%27s_Singles_champions"
page <- GET(myURL, user_agent("httr"))
x <- readHTMLTable(text_content(page), as.data.frame=TRUE)
head(x[[1]])

これを生成します:

  US Open Men's Singles Champions                                                          NA
1                Official website                                                        <NA>
2                        Location                        Queens – New York City United States
3                           Venue                USTA Billie Jean King National Tennis Center
4                  Governing body                                                        USTA
5                         Created 1881 (established)Open Era: 1968\n(44 editions, until 2011)
6                         Surface  Grass (1881–1974)HarTru (1975–1977)DecoTurf (1978–Present)
于 2012-09-11T15:07:47.750 に答える