2017-12-04 3 views
0

Für das Projekt, an dem ich gerade arbeite, muss ich den HTML-Code herunterladen und parsen, um bestimmte Datums- und Uhrzeitangaben zu erhalten.Swift - Parsing einer Webseite

ich ein Dummy-Projekt für die Prüfung erstellt und hier ist der Code:

import UIKit 
import Alamofire 
import SwiftSoup 

class ViewController: UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     let diyanetURL = "https://namazvakitleri.diyanet.gov.tr/tr-TR/" 

     let params = ["ulkeId" : 2, "ilId" : 500,"ilceId" : 9146] 
     Alamofire.request(diyanetURL, method: .post, parameters: params, encoding: URLEncoding.default).validate(contentType: ["application/x-www-form-urlencoded"]).response { (response) in 

      if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) { 
       do { 
        let html: String = utf8Text 
        let doc: Document = try SwiftSoup.parse(html) 
        let bla = try doc.getElementsByAttribute("tbody") 
        for bl in bla { 
         print(bl) 
        } 

       } catch let error { 
        print(error.localizedDescription) 
       } 

      } 
     } 
    } 
} 

ich, dass ein Teil der Website zu bekommen, aber ich kann es nicht:

<tbody> 

             <tr> 

              <td>04.12.2017</td> 

              <td>06:16</td> 

              <td>07:47</td> 

              <td>12:46</td> 

              <td>15:10</td> 

              <td>17:32</td> 

              <td>18:56</td> 

             </tr> 

             <tr> 

              <td>05.12.2017</td> 

              <td>06:17</td> 

              <td>07:48</td> 

              <td>12:46</td> 

              <td>15:09</td> 

              <td>17:31</td> 

              <td>18:56</td> 

             </tr> 

Wie kann ich Parsen Sie die Webseite und erhalten Sie diese Daten und Uhrzeiten?

Vielen Dank im Voraus.

Antwort

0

fand ich die Lösung:

import UIKit 
import Alamofire 
import SwiftSoup 

class ViewController: UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     let diyanetURL = "https://namazvakitleri.diyanet.gov.tr/tr-TR/8648" 

//  let params = ["ulkeId" : 2, "ilId" : 500,"ilceId" : 9146] 
     Alamofire.request(diyanetURL, method: .post, parameters: nil, encoding: URLEncoding.default).validate(contentType: ["application/x-www-form-urlencoded"]).response { (response) in 

      if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) { 
       do { 
        let html: String = utf8Text 
        let doc: Document = try SwiftSoup.parse(html) 
        for row in try! doc.select("tr") { 
         print("------------------") 
         for col in try! row.select("td") { 
          print(try col.text()) 
         } 
        } 

       } catch let error { 
        print(error.localizedDescription) 
       } 

      } 
     } 
    } 
}