2013-04-01 49 views
2

我有一個網站,我做電影評論。該網站是使用datalife引擎製作的,就我所瞭解的DLE而言,無法使用插件。如何從另一個使用JS或jQuery的網站獲得div/class內的文本?

我試圖構建簡單的代碼,獲取IMDB網站上的DIV文本,並在我的打印輸出。我正在尋找的是一種在我審查電影時給予電影的IMDB鏈接的方法,並且腳本獲得類名爲「titlePageSprite star-box-giga-star」的元素並將其打印出來網站。

我一直在尋找這個,據我所知,最好的方法是使用jquery(我對btw一無所知),當我實現代碼時,我認爲它是正確的,它根本不會打印憑空多出...

我TESTE出來是這樣的 標籤

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script> 

(我想我已經嘗試了從jQuery的1.9鏈接,如果你問)

之間將這個

然後把它放在身體上進行測試:

<script type="text/javascript"> 
jQuery(function($){ 
    $('#result').load('http://www.imdb.com/title/tt2306299/ #titlePageSprite star-box-giga-star'); 
}); 
</script> 

和測試打印出這個地方我想打印

<div id="result"></div> 

沒有happend可言。

+1

不,你不能。您需要取消整個頁面並解析它以獲取所需頁面的一部分,換句話說...將整個頁面內容下載到字符串中(使用AJAX)。然後使用java腳本函數(如split,substring等)來獲取您需要的內容。它不是最好的做法,但如果一切都失敗了,可能會訣竅。 – highwingers

+0

您可以發現IMDB不允許疤痕的評論之一。我沒有這方面的證據,但是,如果是這種情況,那麼只是聲明所提供的一些數據可能與實際數據不符。 – NewUser

+0

你可以使用Curl來颳去網站 – Youss

回答

1

您的示例顯示了所謂的跨源請求(CORS),除非目標網站(imdb)允許這樣做,否則您將在瀏覽器控制檯中看到錯誤,而不是預期的結果。

+0

,但代碼本身是正確的?那麼手動製作這個最好的方法是什麼? –

+0

有多種方法可以解決瀏覽器的相同來源策略,其中大多數涉及代理或您控制的腳本。在「CORS」標籤下,有幾個很好的問題在SE上有很好的答案。 – Evgeny

相關問題