Web scraping 如何在swift中将html表格数据解析为字符串数组?

Web scraping 如何在swift中将html表格数据解析为字符串数组?,web-scraping,html-parsing,swift4,swiftsoup,Web Scraping,Html Parsing,Swift4,Swiftsoup,我正在开发一个iOS应用程序,在这个应用程序中,我需要从与swiftsoup库的链接解析HTML。我已经做到了。但它将所有表数据显示为字符串。我需要获得单独的数据,这些数据应该存储在单独的数组中 这是表格: <table width="880" border="1" cellspacing="0" cellpadding="0"> <tr> <td width="81"><strong>Trip Name

我正在开发一个iOS应用程序,在这个应用程序中,我需要从与swiftsoup库的链接解析HTML。我已经做到了。但它将所有表数据显示为字符串。我需要获得单独的数据,这些数据应该存储在单独的数组中

这是表格:

        <table width="880" border="1" cellspacing="0" cellpadding="0">
      <tr>
        <td width="81"><strong>Trip Name </strong></td>
        <td width="159"><div align="center"><strong>Starting Time from Campus </strong></div></td>
        <td width="186"><div align="center"><strong>Starting Spot &amp; Time </strong></div></td>
        <td width="444"><strong>Remarks</strong></td>
      </tr>
      <tr>
        <td><div align="center">Normal-1</div></td>
        <td><div align="center">6:30 AM </div></td>
        <td>Rupsha, 7:20 AM </td>
        <td>Will back via Royalmore &amp; Ferighat  </td>
      </tr>
      <tr>
        <td><div align="center">Normal-1</div></td>
        <td><div align="center">6:45 AM </div></td>
        <td>Moylapota, 7:25 AM </td>
        <td>Will back via Shibbari - Sonadangha </td>
      </tr>


    </table>

正常的1、6:30AM、7:20AM将通过Royalmore&Ferighat返回,将存储为4个单独的数组。

我不确定您是要将其存储为每行一个数组还是每列一个数组。下面是如何以每行一个数组的方式存储它。使用
map
或其他数组转换将其转换为所需的样式:

var tableContent = [[String]]()
let document = try! SwiftSoup.parse(html)
for row in try! document.select("table[width=\"880\"] tr") {
    var rowContent = [String]()

    for col in try! row.select("td") {
        let colContent = try! col.text()
        rowContent.append(colContent)
    }
    tableContent.append(rowContent)
}

print(tableContent)
(如果在生产中执行此操作,请正确处理错误,而不是所有这些
尝试!

var tableContent = [[String]]()
let document = try! SwiftSoup.parse(html)
for row in try! document.select("table[width=\"880\"] tr") {
    var rowContent = [String]()

    for col in try! row.select("td") {
        let colContent = try! col.text()
        rowContent.append(colContent)
    }
    tableContent.append(rowContent)
}

print(tableContent)