在我的Javascript中,我将Lodash初始化为
window.lodget = get;
所以我可以做
header = lodget(div, 'children[0].children[1]') || lodget(div, 'children[3]')
在运行时,header
在网站上的位置是未知的,因此,这为我节省了很多时间,因为我不必检查children
的每一层以及是否存在对象位于给定的索引处。如果第一个路径不存在,则采用第二个路径;简单。
我现在必须离开Java脚本,所以我才刚刚开始使用SwiftSoup解析HTML。现在我该如何做类似的事情?
如果该路径不存在,SwiftSoup将使用(lldb)
使应用程序崩溃(类似于访问索引长度大于其长度的数组),但是检查每条路径都会使代码炸毁10次它的大小,因为里面有很多“未知数”。
您能为我提供帮助的任何工作,将不胜感激。我正在考虑编写一个采用字符串路径的函数,对该输入进行正则表达式,然后安全地检查给定的每个路径,但是我很确定其他人已经编写了一个库或类似的库。我只是不知道要搜索什么。也许SwiftSoup已经包含了类似可选的属性?我希望得到一个答案,因为我现在真的很困。