R在对维基百科的readHTMLTable调用中崩溃

R在对维基百科的readHTMLTable调用中崩溃,r,web-scraping,R,Web Scraping,试着去刮维基百科的页面,就像我以前做过很多次的那样 library(XML) myURL <- "http://en.wikipedia.org/wiki/List_of_US_Open_MenUs_Singles_champions" y <- readHTMLTable(myURL, stringsAsFactors = FALSE) url实际上是重定向的,因此输入的是最终url myURL <- "http://en.wikipedia.org/wiki/List_

试着去刮维基百科的页面,就像我以前做过很多次的那样

library(XML)
myURL <- "http://en.wikipedia.org/wiki/List_of_US_Open_MenUs_Singles_champions"
y <- readHTMLTable(myURL,  stringsAsFactors = FALSE)
url实际上是重定向的,因此输入的是最终url

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

myURL我发现包
httr
在解决任何网页抓取问题方面都是非常宝贵的。在这种情况下,您需要添加用户代理配置文件,因为如果您不:

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]])
库(httr)
库(XML)

myURL是的,尽管我可以通过OP代码的分段错误确认崩溃,这表明某个地方存在真正的错误(
RS\u XML\u ParseTree
是最接近的原因…)。可能值得给维护人员发一封电子邮件。@BenBolker抱歉,是的。我还可以确认原始代码在我身上崩溃了,因此使用了
httr
,它至少返回了一些结果。@Andrie。谢谢,我会查看httr。奇怪的是,一个类似的URL不会导致崩溃,
XML
包中确实有一个bug,可能在
RS\u XML\u ParseTree
中,正如@benbolker在对我答案的评论中所指出的那样。
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)