我正在解析很多网站,我编写了一个脚本,通过单独的文件循环数千个链接。但是,我经历过,有时R无法加载一个链接,它在循环中间停止,留下许多其他网址未解析。所以我尝试使用tryCatch,因此脚本忽略了这种情况并继续解析下一个URL。但是,我最近经历过tryCatch生成以下错误。
gethelp.url = 'http://forums.autodesk.com/t5/Vault-General/bd-p/101'
gethelp.df =tryCatch(htmlTreeParse(gethelp.url, useInternalNodes = T), error = function() next)
Error in value[[3L]](cond) : unused argument (cond)
Calls: withRestarts ... tryCatch -> tryCatchList -> tryCatchOne -> <Anonymous>
Execution halted
令人困惑的是,它有时会运行良好,有时它会抛出此错误消息,即使相同的脚本解析相同的URL。
任何人都可以给我一个如何解释此错误消息的指导吗?我阅读了该文件,但我找不到太多的见解。
答案 0 :(得分:6)
我认为你的函数必须以cond
作为参数 - 至少我过去使用tryCatch()
的方式,你的错误信息似乎表明它是问题。
尝试以下方法:
gethelp.df =tryCatch(htmlTreeParse(gethelp.url, useInternalNodes = T), error = function(cond) next)
请注意,上面的行仍会抛出错误,b / c示例代码不在循环中。所以我只是将next
替换为NA
,而且效果很好。
编辑:为回应OP的评论,我建议您尝试以下方法:
gethelp.df =tryCatch(htmlTreeParse(gethelp.url, useInternalNodes = T), error = function(cond)"skip")
if(gethelp.df=="skip"){next}