我正在通过一些参数从Scrapy搜寻器发送到Splash端点,以供将要运行的Splash脚本使用。有时,该脚本中可能会发生错误。对于运行时错误,我使用pcall
来包装可疑脚本,以便可以正常捕获并返回运行时错误。但是,对于语法错误,这将不起作用,而是引发400错误。我使用handle_httpstatus_list
属性将搜寻器设置为处理此类错误,因此针对此类错误调用了我的解析回调,在此我可以正常检查出了什么问题。
到目前为止,一切都很好,除了我无法在lua脚本中优雅地处理语法错误之外,我无法返回回调希望访问的一些输入Splash args。现在,我在我确实拥有的response._splash_args()
对象上调用SplashJsonResponse
,这使我可以访问这些值。但是,这本质上是一种受保护的方法,这意味着它可能不是一个长期解决方案。
当您完全不依赖于运行的关联启动脚本时,是否有更好的方法来访问响应中的启动参数?