首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Swift -从HTML获取数据

Swift -从HTML获取数据
EN

Stack Overflow用户
提问于 2020-08-24 16:33:28
回答 2查看 114关注 0票数 0

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

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

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

代码语言:javascript
运行
复制
webView.evaluateJavaScript("document.getElementsByTagName('html')[0].innerHTML")

生成的字符串包含我需要的所有数据,但我在提取它时遇到了问题。

我正在寻找的值是这样排列的(我想提取标记为"keyName“和"valueName”的数据(下面是"key“和”value“类):

代码语言:javascript
运行
复制
<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>

有没有人知道如何获取密钥和值?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-24 17:50:45

你可以查看这个库的SwiftSoup,这个答案对你很有帮助How to parse html table data to array of string in swift?

希望这能有所帮助。看起来这是你的案子!

票数 1
EN

Stack Overflow用户

发布于 2020-08-24 17:59:54

使用正则表达式捕获class="value"><之间的字符串非常简单,htmlString表示提取的HTML字符串。结果是一个字符串数组

代码语言:javascript
运行
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63557399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档