通过 HTMLKit Swift 解析 <div> 标签之间的文本
Parse text between <div> tags by HTMLKit Swift
我正在尝试解析 HTML 文档,并从 HTML、URL 和文本中获取,为此我正在使用库 HTMLKit,对于 URL 我正在使用下一个代码:
func parseHTML() {
browser.evaluateJavaScript("document.body.innerHTML") { (result, error) in
guard let html = result as? String, error == nil else {
print("Failed to get html string")
return
}
let document = HTMLDocument(string: html)
print("Create html doc")
let urls: [String] = document.querySelectorAll("div").compactMap({ element in
guard let src = element.attributes["href"] as? String else {
return nil
}
return src
})
print("Found \(urls.count) urls \n")
}
}
一切正常,但我不知道如何解析
之间的文本
HTML代码:
<div class="V7Sr0 p5AXld PpBGzd YcUVQe">What are the alternatives now that the Google web search API has been ...</div>
如果我想获取文本“现在 Google 网络搜索 API 已经……有什么替代方案,我应该如何修改代码……”
HTMLKit 有 属性 来获取标签范围之间的文本 - HTMLElement.textContent
或者您可以 w/o HTMLKit。例如 - (?<=>)(.*)(?=<)
我正在尝试解析 HTML 文档,并从 HTML、URL 和文本中获取,为此我正在使用库 HTMLKit,对于 URL 我正在使用下一个代码:
func parseHTML() {
browser.evaluateJavaScript("document.body.innerHTML") { (result, error) in
guard let html = result as? String, error == nil else {
print("Failed to get html string")
return
}
let document = HTMLDocument(string: html)
print("Create html doc")
let urls: [String] = document.querySelectorAll("div").compactMap({ element in
guard let src = element.attributes["href"] as? String else {
return nil
}
return src
})
print("Found \(urls.count) urls \n")
}
}
一切正常,但我不知道如何解析
之间的文本HTML代码:
<div class="V7Sr0 p5AXld PpBGzd YcUVQe">What are the alternatives now that the Google web search API has been ...</div>
如果我想获取文本“现在 Google 网络搜索 API 已经……有什么替代方案,我应该如何修改代码……”
HTMLKit 有 属性 来获取标签范围之间的文本 - HTMLElement.textContent
或者您可以 (?<=>)(.*)(?=<)