2015-02-09 57 views
0

我開始與Swift一起工作,並且出現此錯誤。我想從這個網站得到的「8660」(在「DOLAR VENTA」):http://www.lanacion.com.ar/dolar-hoy-t1369如果您檢查在網站數量的元素,你會發現這一點:Xcode不會從網站下載確切的HTML

<p id="dventa">8,<span>660</span></p> 

,我以爲我可以從該行獲取數據。

的事情是,當我下載它,並使用此代碼打印到輸出:

@IBAction func obtenerPrecio(sender: AnyObject) { 

    let url = NSURL(string: "http://www.lanacion.com.ar/dolar-hoy-t1369") 

    let task = NSURLSession.sharedSession().dataTaskWithURL(url!, completionHandler: { (data, response, error) -> Void in 

     if error == nil { 

      var urlContent = NSString(data: data, encoding: NSUTF8StringEncoding) as NSString! 

      //var urlContentArray = urlContent.componentsSeparatedByString("<p id=\"dventa\">") 

      println(urlContent) 

     } else { 

      println(error) 

     } 


    }) 

    task.resume() 

} 

我得到的是這個(我將只顯示所需要的部分):

<p id="dventa">-</p> 

「 - 」應該是哪裏的數據。我能做些什麼來獲取信息?謝謝

+0

看來你要求的頁面有一些運行的javascript來更新東西。由於您剛剛以靜態方式加載原始HTML數據而不是在Web視圖中,因此不會出現此行爲。 – 2015-02-09 20:57:47

+0

@IanMacDonald我需要將標籤的文字等同於該信息(8,660)我可以以任何方式做到這一點嗎? – 2015-02-09 21:05:07

+0

您需要在Web視圖中加載URL,然後在完成加載後提取數據。 – 2015-02-09 21:06:18

回答

1

正如評論中所述,此數據正在通過javascript加載。網站的快速瀏覽表明數據實際上來自here,這更容易解析。

dolarjsonpCallback({"Date":"2015-02-03T00:00:00","CasaCambioVentaValue":"8,66","BolsaCompraValue":"12,48","BolsaVentaValue":"12,48","InformalVentaValue":"13,3","CasaCambioCompraValue":"8,56","InformalCompraValue":"13,33"}); 
+0

謝謝,我明白了 – 2015-02-09 21:14:34

+0

對不起@Jeremy但是,你是怎麼到達那裏的?而且,那些出現在網站上的人數也不完全相同 – 2015-02-09 22:00:31