2017-04-25 105 views
0

我有問題,我需要從網站中獲取一些信息,但沒有API,因此我將網址轉換爲字符串,然後使用TFHpple搜索XPath。我是初學者在XPath的那麼你應該是什麼樣子的XPath:在Swift中解析HTML字符串

<a href=q/?s=wig20>WIG20</a></td><td><span id=aq_wig20_c2>2305.67</span></td><td nowrap><span id=aq_wig20_m1><font id=c1>+0.38%</font></span></td><td></td><td nowrap><span id=aq_wig20_d1>9:23</span></td></tr><tr> 
+1

你在找什麼?好的例子由維克托發佈聽到http://stackoverflow.com/questions/31080818/what-is-the-best-practice-to-parse-html-in-swift –

+0

我只需要採取WIG20,2305.67,0.38% ,9:23但HTMLString非常龐大,所以我想聰明地做到這一點 – Laxsion12

回答

0

在我的項目,我使用Kanna它更容易在斯威夫特的項目中使用。

鏈接到GitHub repo

Kanna,你可以獲取你以這種方式需要信息:

let html = "<a href=q/?s=wig20>WIG20</a></td><td><span id=aq_wig20_c2>2305.67</span></td><td nowrap><span id=aq_wig20_m1><font id=c1>+0.38%</font></span></td><td></td><td nowrap><span id=aq_wig20_d1>9:23</span></td></tr><tr>" 

if let doc = Kanna.HTML(html: html, encoding: String.Encoding.utf8) { 
    let bodyNode = doc.body 

    if let inputNodes = bodyNode?.xpath("//a | //span") { 
     for node in inputNodes { 
      print(node.content) 
     } 
    } 
} 

響應:

Optional("WIG20") 
Optional("2305.67") 
Optional("+0.38%") 
Optional("9:23") 

的全部數據均是<a><span> HTML元素。