【问题标题】:Parse text between <div> tags by HTMLKit Swift通过 HTMLKit Swift 解析 <div> 标签之间的文本
【发布时间】:2021-07-15 13:24:00
【问题描述】:

我正在尝试解析 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 已经成为...”,我应该如何修改代码

【问题讨论】:

  • 使用String的组件分隔方式。

标签: html ios swift parsing html-parsing


【解决方案1】:

HTMLKit 具有在标签范围之间获取文本的属性 - HTMLElement.textContent

或者您可以use regex 不带 HTMLKit。例如 - (?&lt;=&gt;)(.*)(?=&lt;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    • 2011-10-06
    • 2019-10-08
    • 2013-08-21
    • 1970-01-01
    • 2013-02-18
    相关资源
    最近更新 更多