1. Products
  2.   HTML
  3.   Swift
  4.   SwiftSoup
 
  

Free Swift Library to Parse, Extract & Manipulate HTML Data

Open Source Swift Library for Parsing, Extracting and Manipulating HTML data using URL, File, or String as well as using the best of DOM, CSS, and jQuery-like methods.

In the world of web development, dealing with HTML documents is a common task, but it can often be challenging due to the unstructured nature of HTML. Luckily, SwiftSoup, a powerful Swift library, comes to the rescue by offering a simple and intuitive way to parse and manipulate HTML documents. There are several important basic and advanced features part of the library, such as scraping and parsing HTML from a URL, file, or string, searching and extracting data, manipulating the HTML elements, cleaning user-submitted content against a safe white-list, and many more.

SwiftSoup is a powerful open source library specifically designed for parsing and manipulating HTML documents in Swift applications. The library provides a seamless mechanism to navigate through the HTML document's nodes and manipulate its content. It provides a handy set of methods that enable software developers to navigate through the HTML tree, extract data, modify elements, and more. Whether you're scraping web content, building web crawlers, or extracting specific information from HTML, the library empowers you to achieve your goals with ease.

The SwiftSoup library emerges as a valuable companion for any Swift developer dealing with HTML documents. Its straightforward syntax and robust functionalities streamline HTML parsing and manipulation tasks. From extracting data to modifying elements, the library excels in simplifying the process and empowering software developers to work efficiently with HTML in their Swift applications. So, next time you find yourself dealing with HTML documents, SwiftSoup should undoubtedly be your go-to library!

Previous Next

Getting Started with SwiftSoup

The recommended and easiest way to install SwiftSoup is using CocoaPods. Please use the following command a smooth installation.

Install SwiftSoup via CocoaPods

pod 'SwiftSoup'

You can also install it manually; download the latest release files directly from GitHub repository.

Parsing HTML inside Swift Apps

Parsing HTML is at the core of web scraping, and SwiftSoup simplifies this process. The open source SwiftSoup library has included very useful features for loading and parsing HTML documents inside Swift applications. With just a few lines of code, software developers can fetch a webpage's HTML content and start extracting meaningful data. The library allows software developers to select elements using CSS selectors, making it easy to pinpoint specific data points within the HTML structure. The following example shows how to parse an HTML documents via Swift commands.

How to Parse HTML Document inside Swift Apps?

do {
   let html = "First parse"
       + "

Parsed HTML into a doc.

" let doc: Document = try SwiftSoup.parse(html) return try doc.text() } catch Exception.Error(let type, let message) { print(message) } catch { print("error") }

Extract Attributes & HTML from Elements via Swift

The open source SwiftSoup library makes it easy for software programmers to extract attributes and data from HTML elements inside their Swift applications. For instance, developers can retrieve text, attributes, and HTML content from elements with just a couple of lines of code. There are different methods provided that can help users to get the value of an attribute, text on an element and HTML. The following example demonstrates how users can get data of different element using Swift code.

How to Get Data of Various Elements via Swift API?

do {
    let html: String = "

An example link.

" let doc: Document = try SwiftSoup.parse(html) let link: Element = try doc.select("a").first()! let text: String = try doc.body()!.text() // "An example link." let linkHref: String = try link.attr("href") // "http://example.com/" let linkText: String = try link.text() // "example" let linkOuterH: String = try link.outerHtml() // "example" let linkInnerH: String = try link.html() // "example" } catch Exception.Error(let type, let message) { print(message) } catch { print("error") }

Traversing and Manipulating HTML File

The open source SwiftSoup library allows software developers to load and manipulate elements of an HTML documents inside Swift application. The library provides a seamless mechanism to navigate through the HTML document's nodes and manipulate its content. Whether you want to extract data, modify elements, or remove nodes altogether, the API enables you to achieve these tasks efficiently. The following example shows how software developers can access and modify elements of an HTML documents using Swift commands.

How to Access and Modify Element of an HTML Documents via Swift API?

import SwiftSoup

do {
    let html = "
  • Item 1
  • Item 2
" let doc = try SwiftSoup.parse(html) let items = try doc.select("li") for item in items { print(try item.text()) // Output: Item 1, Item 2 } } catch { print("Error parsing HTML: \(error)") }