rvest中的html与XML中的htmlpasse

rvest中的html与XML中的htmlpasse,xml,r,rvest,Xml,R,Rvest,如以下代码所示,rvest包中的html使用XML包中的htmlpasse html function (x, ..., encoding = NULL) { parse(x, XML::htmlParse, ..., encoding = encoding) } <environment: namespace:rvest> htmlParse function (file, ignoreBlanks = TRUE, handlers = NULL, replaceEnt

如以下代码所示,
rvest
包中的
html
使用
XML
包中的
htmlpasse

html
function (x, ..., encoding = NULL) 
{
    parse(x, XML::htmlParse, ..., encoding = encoding)
}
<environment: namespace:rvest>

htmlParse
function (file, ignoreBlanks = TRUE, handlers = NULL, replaceEntities = FALSE, 
    asText = FALSE, trim = TRUE, validate = FALSE, getDTD = TRUE, 
    isURL = FALSE, asTree = FALSE, addAttributeNamespaces = FALSE, 
    useInternalNodes = TRUE, isSchema = FALSE, fullNamespaceInfo = FALSE, 
    encoding = character(), useDotNames = length(grep("^\\.", 
        names(handlers))) > 0, xinclude = TRUE, addFinalizer = TRUE, 
    error = htmlErrorHandler, isHTML = TRUE, options = integer(), 
    parentFirst = FALSE) 
.....
html
函数(x,…,编码=NULL)
{
解析(x,XML::htmlpasse,…,encoding=encoding)
}
HTMLPase
函数(file,ignoreBlanks=TRUE,handlers=NULL,replaceEntities=FALSE,
asText=FALSE,trim=TRUE,validate=FALSE,getDTD=TRUE,
isURL=FALSE,asTree=FALSE,addAttributeNamespaces=FALSE,
useInternalNodes=TRUE,isSchema=FALSE,fullNamespaceInfo=FALSE,
encoding=character(),useDotNames=length(grep(“^\\”),
名称(处理程序))>0,xinclude=TRUE,addFinalizer=TRUE,
error=htmlErrorHandler,isHTML=TRUE,options=integer(),
parentFirst=FALSE)
.....
因此,对于以下url:

 myurl<-"http://www.nepalstock.com.np/"
parse_XML<-htmlParse(myurl) #runs without error
parse_rvest<-html(myurl) # throws out the Internal Sever error
Error in parse.response(r, parser, encoding = encoding) : 
  server error: (500) Internal Server Error

myurl从底层的
httr::GET
请求重置默认用户代理,然后它工作:

library(httr)
library(rvest)
parse_rvest <- html(myurl, add_headers("User-Agent" = "myagent"))

谢谢,但它仍然抛出了一个错误:
在open.connection(x,“rb”):HTTP错误500。
。不在这里(Windows 7 x64,R版本3.1.3,rvest_0.2.0,httr_0.6.1,RCurl_1.95-4.6,XML_3.98-1.1)我的是(Windows 8 x64 R版本3.2,rvest'0.2.0.9000'httr 0.6.1 RCurl:1.95.4.6',XML,'3.98.2.2')。我还注意到
html
现在已经被弃用了。一个对我有效的解决方案是这样的(使用
read\u html
):
read\u html(GET(myurl,user\u agent(“myagent”))
。通过这种方式,或者查看我的编辑
curl
可能成为新的
RCurl
/
httr
parse_rvest <- html(myurl, user_agent("myagent"))
library(xml2)
library(rvest)
library(curl)
parse_rvest <- curl(myurl, handle = new_handle("useragent" = "myua")) %>%
               read_html()