1. Termékek
  2.   HTML
  3.   Swift
  4.   Kanna
 
  

Ingyenes Swift könyvtár HTML adatok feldolgozásához és manipulálásához

Nyílt forráskódú HTML/XML feldolgozó Swift könyvtár, amely tiszta Swift API-t biztosít a HTML és XML dokumentumok könnyed feldolgozásához és bejárásához.

Mi az a Kanna?

Ha valaha is készítettél egy Swift alkalmazást, amelynek adatot kell kinyernie weboldalakról, XML-ben kell feldolgoznia API-válaszokat, vagy strukturált tartalmat kell kaparni, valószínűleg szembesültél a nyers HTML és XML karakterláncok kezelésének kihívásával. A Swift standard könyvtára nem tartalmaz natív, ergonomikus elemzőt ezekhez a formátumokhoz, ezért lép színre a Kanna, hogy megoldja a problémát. Alapvetően a Kanna tiszta Swift API-t biztosít a HTML és XML dokumentumok elemzéséhez és bejárásához. A háttérben a nehéz munkát a libxml2 végzi, ami azt jelenti, hogy sziklaszilárd elemzési teljesítményt kapsz anélkül, hogy magadnak kellene újraimplementálnod a bonyolult nyelvtani szabályokat.

A Kanna kiemelkedik a Swift ökoszisztémában egyszerűségével és erejével. Intuitív API-jával navigálhat és manipulálhat HTML/XML dokumentumokat ismerős lekérdezési módszerek, például az XPath 1.0 és a CSS3 szelektorok használatával. Akár webkaparót épít, RSS-hírcsatornákból adatot nyer, vagy XML konfigurációs fájlokat dolgoz fel, a Kanna biztosítja a szükséges eszközöket. A platformok közötti támogatás a Kanna egyik legvonzóbb tulajdonsága. macOS, iOS, tvOS, watchOS és még Linux rendszereken is fut. Az XPath 1.0 és a CSS3 szelektorok két erőteljes, iparági szabványú módot kínálnak a dokumentumok lekérdezésére. A CSS3 szelektorok és az XPath 1.0 egyidejű támogatása elég rugalmas ahhoz, hogy a egyszerű HTML kinyeréstől a komplex, névtérrel rendelkező XML feldolgozásig mindent kezeljen. Akár egy iOS alkalmazást épít, amely RSS-hírcsatornát fogyaszt, akár egy Vapor szervert, amely a versenytársak árait kaparja, vagy egy parancssori eszközt, amely XML adatokat alakít át, a Kanna megbízhatóan és elegánsan biztosítja a feladat elvégzéséhez szükséges eszközöket.

Previous Next

Kanna használatának megkezdése

Az ajánlott és legegyszerűbb módja a Kanna telepítésének a CocoaPods használata. Kérjük, használja a következő parancsot a zökkenőmentes telepítéshez.

Kanna telepítése Carthage segítségével

// add the following line to your Podfile:
use_frameworks! 
pod 'Kanna', '~> 5.2.2'

// Then run:
$ pod install

Kanna telepítése CocoaPods segítségével


// If you prefer Carthage, add this line to your Cartfile:
github "tid-kijyun/Kanna" ~> 5.2.2

Telepítheti manuálisan is; töltse le a legújabb kiadási fájlokat közvetlenül a GitHub tárolóból.

HTML dokumentumok feldolgozása Swift segítségével

Az nyílt forráskódú Kanna könyvtár támogatást nyújt HTML dokumentumok betöltéséhez és feldolgozásához Swift alkalmazásokban. A HTML feldolgozás leggyakoribb felhasználási esete, legyen az a webről letöltött vagy programozottan előállított. Itt egy egyszerű példa, amely bemutatja, hogyan használhatják a szoftverfejlesztők az HTML függvényt, amely nyers HTML karakterláncot fogad, kódolja, és egy dokumentumobjektumot ad vissza, amely olyan tulajdonságokat tartalmaz, mint a .title és a .body, így gyors hozzáférést biztosít a gyakori elemekhez selector használata nélkül.

Hogyan lehet HTML-t UTF-8 kódolással elemezni Swift könyvtár segítségével?

 import Kanna

// A sample HTML string representing a webpage
let htmlString = """

  
    My Tech Blog
  
  
    

Üdvözöljük a Swift Parsingban

A Kanna egyszerűvé és elegánssá teszi a HTML feldolgozást.

View on GitHub """ // Parse the HTML string using UTF-8 encoding if let doc = try? HTML(html: htmlString, encoding: .utf8) { // Access the document title directly via a convenience property print(doc.title ?? "No title found") // Output: My Tech Blog // Access the full body text print(doc.body?.text ?? "No body") }

CSS3 szelektor lekérdezés támogatása

A Kanna könyvtár teljes körű támogatást nyújt a CSS3 szelektorokhoz, lehetővé téve a fejlesztők számára, hogy ismerős CSS szintaxist használjanak az elemek megtalálásához. A Kanna CSS szelektor támogatása lehetővé teszi, hogy ugyanazt a szelektor szintaxist alkalmazd, amit egy stíluslapban vagy a JavaScript querySelectorAll metódusában írnál. Ez nagyon intuitívvá teszi a webfejlesztő háttérrel rendelkező felhasználók számára. Az alábbi példa bemutatja, hogyan választhatnak ki HTML elemeket, és iterálhatnak több elem felett Swift alkalmazásokban.

Hogyan válasszunk ki több HTML elemet, és nyerjünk ki belőle szöveget Swift könyvtár segítségével?

import Kanna

let htmlString = """


  
  • Swift könyv $39.99
  • Xcode útmutató $24.99
  • iOS Alapok $49.99
""" if let doc = try? HTML(html: htmlString, encoding: .utf8) { // Select all elements with class "product" inside a "ul" for product in doc.css("ul.product-list li.product") { // Extract text from nested span elements using child selectors let name = product.css("span.name").first?.text ?? "Unknown" let price = product.css("span.price").first?.text ?? "N/A" // Access HTML attributes using subscript notation let productId = product["data-id"] ?? "No ID" print("[\(productId)] \(name) — \(price)") } }

XPath 1.0 lekérdezés támogatása

A Kanna könyvtár támogatja az XPath 1.0 lekérdezéseket Swift alkalmazásokban. Az XPath erőteljesebb és rugalmasabb módot biztosít az elemek és attribútumok navigálására XML/HTML dokumentumokban. Különösen hasznos összetett dokumentumszerkezetek esetén. Az XPath kifejezések olyan módon tudják bejárni a dokumentumokat, amit a CSS szelektorok nem képesek, például elemek megtalálása pozíciójuk, szülő-gyermek kapcsolataik vagy összetett szövegminták alapján. Elengedhetetlen az XML feldolgozáshoz és összetett HTML kaparáshoz.

XML feldolgozás és validálás Swift segítségével

Az alapvető HTML-parszolás mellett a nyílt forráskódú Kanna könyvtár robusztus XML-kezelési képességeket kínál. Ez magában foglalja a megfelelő XML-szerkezet validálását és attribútumkezelést. Strukturált adatokkal dolgozva többre van szükség, mint csak az elemek kinyerése. A Kanna teljes XML-dokumentum hozzáférést biztosít, beleértve a megjegyzéseket, feldolgozási utasításokat és a dokumentum metaadatait.

Hogyan végezzünk XML elemzést Swift alkalmazásokban?

import Kanna

let xmlString = """


  
    Swift Developer News
    
      Kanna 6.0 Released with Swift 6 Support
      Alex Johnson
      Mon, 26 Jun 2024 00:00:00 GMT
    
    
      New Features in Swift 5.10
      Maria Garcia
      Tue, 15 Apr 2024 00:00:00 GMT
    
  

"""

if let doc = try? Kanna.XML(xml: xmlString, encoding: .utf8) {
    
    // Define a namespace mapping: prefix -> URI
    // The prefix you use here ("dc") can be anything; it maps to the namespace URI
    let namespaces = [
        "dc": "http://purl.org/dc/elements/1.1/"
    ]
    
    // Query elements in the "dc" namespace using the prefix
    for item in doc.xpath("//item", namespaces: namespaces) {
        let title = item.at_xpath("title")?.text ?? "No title"
        let creator = item.at_xpath("dc:creator", namespaces: namespaces)?.text ?? "Unknown"
        let pubDate = item.at_xpath("pubDate")?.text ?? "No date"
        
        print("Title: \(title)")
        print("Author: \(creator)")
        print("Published: \(pubDate)\n")
    }
}


 Magyar