我有一个问题,我需要从没有API的网站上获取一些信息,所以我要获取URL并将其转换为String,接下来我要使用TFHpple来搜索XPath。我是XPath的初学者,那么您应该如何看待XPath:

<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>

最佳答案

在我的项目中,我正在使用Kanna,在Swift项目中更容易使用。

链接到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元素中。

关于html - 在Swift中解析HTML字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43604556/

10-12 00:24
查看更多