【问题标题】:Parsing HTML to get JSON swift解析 HTML 以快速获取 JSON
【发布时间】:2019-05-26 23:28:07
【问题描述】:

我是 Swift 新手,正在尝试从我抓取的 HTML 中获取 JSON 数据。我从网站获取 HTML,整个结果中有一行包含数据。设置如:var obj = *JSON data*

如何解析字符串结果以仅获取该行并将数据(等号右侧)转换为 JSON?

这是我获取数据的代码(testURL 是网站的 url):

if let url = testURL {
    do {
          let contents = try String(contentsOf: url)
          print(contents)
       } catch {
          // contents could not be loaded
       }
    } else {
       // the URL was bad!
 }

【问题讨论】:

  • HTML 代码在哪里?

标签: json swift xcode url


【解决方案1】:

您可以使用这个 pod SwiftSoup 来解析 HTML

这段代码遍历像 script 这样的标签,并获得像 src

这样的属性
if let url = testURL {
    do {
        let contents = try String(contentsOf: url)
        print(contents)
        do {
            let doc: Document = try SwiftSoup.parse(contents)
            for item in try doc.select("script") {
                let json = try item.attr("src")
                print(json)
            }
        } catch Exception.Error(let type, let message) {
            print(message)
        } catch {
            print("error")
        }
    } catch {
        // contents could not be loaded
    }
} else {
    // the URL was bad!
}

用json标签替换script,用包含json的属性替换src

别忘了添加 import SwiftSoup

希望你得到想要的结果。

【讨论】:

  • 您好,我添加了 SwiftSoup 并使用了您的代码,但是当我将“src”替换为 obj(指向 JSON 的变量名)时,它只会打印出收到的整个 HTML(来自print(contents))。但是json 变量不打印任何内容。 JSON标签是什么意思?在写这篇文章之前,我还浏览了文档,找不到/尝试任何有帮助的东西。我想要的是在
  • 给我你的 html 或 URL 来获取 html
猜你喜欢
  • 1970-01-01
  • 2018-07-08
  • 1970-01-01
  • 2014-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多