我正在解析很多网站,我写了一个脚本,通过单独的文件循环数千个链接.但是,我经历过,有时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
Run Code Online (Sandbox Code Playgroud)
令人困惑的事情有时它运行良好,有时它抛出此错误消息,即使相同的脚本解析相同的URL.
任何人都可以给我一个如何解释此错误消息的指导?我阅读了这份文件,但我找不到太多的见解.
我认为你的函数必须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}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3805 次 |
| 最近记录: |