【发布时间】:2018-04-19 05:28:53
【问题描述】:
我的 HTML 页面中有这行代码:<a href="www.myWebsite.com" rel="ibox"></a>。
考虑到我不仅有这个标签“a”而且还有很多,我如何才能以最好的方式在 swift 代码中解析它?
【问题讨论】:
标签: swift html-parsing
我的 HTML 页面中有这行代码:<a href="www.myWebsite.com" rel="ibox"></a>。
考虑到我不仅有这个标签“a”而且还有很多,我如何才能以最好的方式在 swift 代码中解析它?
【问题讨论】:
标签: swift html-parsing
在 Swift 中解析 HTML 通常需要第三方框架,我个人使用SwiftSoup。
以下是您在 Swift 中使用 SwiftSoup 解析 href 的方法。
do {
let html = "<a href=\"www.myWebsite.com\" rel=\"ibox\"></a>"
let doc: Document = try SwiftSoup.parse(html)
let links = try doc.select("a").map {
try $0.attr("href")
} // ["www.myWebsite.com"]
} catch Exception.Error(let type, let message) {
print(message)
} catch {
print("error")
}
在上面,links 数组保存了页面上所有链接的值。
【讨论】:
import Foundation
let html = "theHtmlYouWannaParse"
var err : NSError?
var parser = HTMLParser(html: html, error: &err)
if err != nil {
println(err)
exit(1)
}
var bodyNode = parser.body
if let inputNodes = bodyNode?.findChildTags("b") {
for node in inputNodes {
println(node.contents)
}
}
if let inputNodes = bodyNode?.findChildTags("a") {
for node in inputNodes {
println(node.getAttributeNamed("href")) //<- Here you would get your files link
}
}
【讨论】: