2017-04-05 64 views
1

因此,基本上我正在爲某人編寫一個網站,我希望它顯示他當前的粉絲數量,該數量將直接從他的Soundcloud帳戶中複製。這裏是我現在使用的編碼: (如果它幫助找到我想要找到的代碼,這裏是他的Soundcloud的鏈接,我試圖找到「追隨者」號碼https://soundcloud.com/gammatoid-official如何從網站找到特定的代碼行,然後使用javascript在HTML文件上顯示它?

<p id="Text"></p> 
<script src="https://soundcloud.com/gammatoid-official" type="text/html"> 
</script> 
<script> 
var fanSel = document.getElementsByClassName("infoStats__value sc-font-tabular-light").innerHTML; 
document.getElementById("Text").innerHTML = fanSel; 
</script> 

它一直給我「未定義」作爲結果,但我無法弄清楚需要改變什麼。

+2

您應該使用Soundcloud的API來代替嘗試從Soundcloud的網站上刮取它。使用你的方法,每當Soundcloud更改他們的個人資料頁面的代碼時,你也需要改變你的代碼。 –

回答

0

您無法像加載腳本一樣加載頁面,並從中獲取內容。你可以看看阿賈克斯的電話。仍然需要考慮跨域策略,下面的內容未經過測試,但您可能會明白。

$.ajax({ 
    url : 'https://soundcloud.com/gammatoid-official', 
    type : 'GET', 
    success: function(resultHTML){ 
     var $html = $(resultHTML); 
     var fansel = $html.find('.infoStats__value .sc-font-tabular-light').text(); 
     $("Text").innerHTML = fanSel; 
    } 
}) 
1

您正在試圖做到這一點是行不通的,因爲你不能沒有通過Cross-Origin Resource Sharing (CORS)正從他們的明確許可加載來自其他網站的數據的方式。

您應該爲此使用Soundcloud's API。即使您成功從他們的網站上獲取這些數據,您的代碼也需要在他們更改網站時進行更改,這將是一件麻煩事,而他們的API應該保持相對穩定。

您可以使用/users端點請求給定用戶的跟隨者數。它會給你一個JSON對象,其中包括follower_count

相關問題