Swift-从HTML获取数据

Swift-从HTML获取数据,html,swift,parsing,Html,Swift,Parsing,我遇到了一个挑战,那就是为我们基于Swift 5.0的iOS应用程序从网站获取某些数据 首先,我们在后台填写并提交表单,然后网站会显示一些数据,我们希望将这些数据放入我们的应用程序中的单独值中(供以后在标签、tableView等中使用) 我们将内部HTML作为字符串获取,如下所示: webView.evaluateJavaScript("document.getElementsByTagName('html')[0].innerHTML") 结果字符串包含我需要的所有数据,

我遇到了一个挑战,那就是为我们基于Swift 5.0的iOS应用程序从网站获取某些数据

首先,我们在后台填写并提交表单,然后网站会显示一些数据,我们希望将这些数据放入我们的应用程序中的单独值中(供以后在标签、tableView等中使用)

我们将内部HTML作为字符串获取,如下所示:

webView.evaluateJavaScript("document.getElementsByTagName('html')[0].innerHTML")
结果字符串包含我需要的所有数据,但我在提取它时遇到问题

我要查找的值是这样排列的(我要提取标记为“keyName”和“valueName”的数据(以下类为“key”和“value”):


关键字名称:
valueName
关键字名称:
valueName
关键字名称:
valueName
关键字名称:
valueName
有人知道我怎样才能得到钥匙和价值吗


谢谢。

您可以查看此库SwiftSoup 这个答案很有帮助


希望能有所帮助。看起来这就是你的情况!

正则表达式很容易捕获
class=“value”>
之间的字符串,顺便说一句,键名总是相同和唯一的,所以我只是希望在预定义的“键名”之后获得“valueName”。
<div class="box">
        <div class="notrequired keyvalue singleDouble">
            <span class="key">keyName:</span>
            <span class="value">valueName</span>
        </div>          
        <div class="notrequired keyvalue singleDouble">
            <span class="key">keyName:</span>
            <span class="value">valueName</span>
        </div>
        <div class="notrequired keyvalue singleDouble">
            <span class="key">keyName:</span>
            <span class="value">valueName</span>
        </div>
        <div class="notrequired keyvalue singleDouble">
            <span class="key">keyName:</span>
            <span class="value">valueName</span>
        </div>
</div>
let regex = try! NSRegularExpression(pattern: "class=\"value\">([^<]+)<")
let values = regex.matches(in: htmlString, range: NSRange(htmlString.startIndex..., in: htmlString))
    .map{ String(htmlString[Range($0.range(at:1), in: htmlString)!]) }

print(values)