Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rvest&x27;对于特定网站,if(is#http){:参数的长度为零';时出错--为什么?_R_Rvest - Fatal编程技术网

Rvest&x27;对于特定网站,if(is#http){:参数的长度为零';时出错--为什么?

Rvest&x27;对于特定网站,if(is#http){:参数的长度为零';时出错--为什么?,r,rvest,R,Rvest,这是我的代码。对于不同的网站,它可以工作,但会抛出一个错误: if(is_http){:参数长度为零时出错 请求执行(请求,hu$handle$handle) httr::GET(url,x$config,…,handle=x$handle) 请求获取(会话、url) html_会话(url) html_节点(html_会话(url),“正文”) 在线和stackoverflow上搜索并没有真正的帮助:(这似乎是一个相当罕见或未知的情况。我可以复制这个问题: 库(rvest) url='vzbv

这是我的代码。对于不同的网站,它可以工作,但会抛出一个错误:

if(is_http){:参数长度为零时出错
请求执行(请求,hu$handle$handle)
httr::GET(url,x$config,…,handle=x$handle)
请求获取(会话、url)
html_会话(url) html_节点(html_会话(url),“正文”)


在线和stackoverflow上搜索并没有真正的帮助:(这似乎是一个相当罕见或未知的情况。

我可以复制这个问题:

库(rvest)
url='vzbvastgoed.nl'
if(is_http){:参数hat Länge 0中的会话错误
html_节点(会话“正文”)
#>html_节点(会话,“正文”)中出错:对象“会话”nicht gefunden
似乎无法正确解析url,因此让我们尝试:

url='1〕https://vzbvastgoed.nl'
请求_GET(会话,url)中的会话警告:禁止(HTTP 403)。
html_节点(会话“正文”)
#>读取xml.response(x$response,…,as_html=as_html)时出错:禁止(HTTP 403)。
至少我们现在有一个有意义的错误(HTTP 403)。 我猜这个网站想保护自己不被捕获和阻止请求 这不是来自浏览器,因为这对我很有用:

库(httr)
url='1〕https://vzbvastgoed.nl'
会话{xml_nodeset(1)}

#> [1]\r\n\r\n\t\r\n\t\t它总是抛出错误吗?还是只针对特殊的URL?如果我对不同的URL使用语法,它似乎可以正常工作,没有任何错误。但是您提供的一个返回状态403^^@sambold仅此网站--我假设有某些网站抛出此错误,并且我只找到了第一个。我测试了相同的code与其他几个URL一起运行,它们似乎都很好。我不知道为什么它在这一个上不起作用。还有一点很奇怪,你得到了403错误。这个网站对我有效。但是,我发现另一个网站抛出404错误。代码是否可以忽略错误,从而继续for循环?嗯,我明白了!非常感谢。Per完美的澄清。现在我的问题是如何忽略这些错误,以便我的for循环可以继续。有办法吗?我将问题标记为已解决,但我是否应该创建一个忽略错误的新帖子?根据so的理念,最好创建一个新问题。但首先,你应该查看一些帖子,因为相同的任务只在不同的上下文(例如or)中询问ion。特别是第二个示例可能会帮助您。
library(rvest)
url = 'vzbvastgoed.nl'
html_nodes(html_session(url), 'body')