Разбор HTML, чтобы получить JSON Swift - PullRequest
0 голосов
/ 27 мая 2019

Я новичок в Swift и пытаюсь получить данные JSON из захваченного HTML.Я получаю 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!
 }

1 Ответ

2 голосов
/ 27 мая 2019

Вы можете использовать этот модуль 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!
}

Заменить script тегом json и src атрибутом, содержащим json

Не забудьте добавить import SwiftSoup

Надеюсь, вы получите желаемый результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...