SwiftSoup像Lodash的Get

时间:2019-03-18 21:10:15

标签: javascript html-parsing swiftsoup

在我的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已经包含了类似可选的属性?我希望得到一个答案,因为我现在真的很困。

0 个答案:

没有答案