因此,我遇到過一個問題,那就是我最喜歡的電臺播放的歌曲是我開車時不知道的歌曲。他們沒有顯示他們播放的歌曲列表的頁面之一;然而,他們的網站上有一個「正在播放」部分,顯示了當前正在播放的內容以及由誰播放。所以,我正在嘗試編寫一個小程序,它會在2分鐘內對網站進行輪詢,以檢索歌曲和藝術家的名字。使用Chrome開發工具,我可以在源代碼中看到歌曲標題和藝術家。但是當我查看頁面源時,它不顯示。他們正在使用JavaScript來運行顯示該信息。我已經試過如下:從網站獲取「真實」的HTML源代碼
private void button1_Click(object sender, EventArgs e)
{
webBrowser1.Navigate(@"http://www.thebuzz.com/main.html");
webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
}
private void webBrowser1_DocumentCompleted(object sender,
WebBrowserDocumentCompletedEventArgs e)
{
do
{
// Do nothing while we wait for the page to load
}
while (webBrowser1.ReadyState == WebBrowserReadyState.Loading);
var test = webBrowser1.DocumentText;
textBox1.Text = test.ToString();
}
本質上講,我加載到一個WebBrowser
,並試圖獲得源代碼這種方式。但是我仍然沒有得到JavaScript運行後的部分。事實之後有沒有辦法實際檢索呈現的HTML?
編輯
此外,有沒有在WebBrowser
辦法,讓腳本運行?我得到彈出式窗口問我是否允許它們運行。我不想壓制他們,我需要他們跑步。
爲什麼不只是使用Shazam或SoundHound? – 2013-02-12 14:52:47
使用Tunatic或Shazam之類的工具怎麼樣?這很容易:) – 2013-02-12 14:53:06
因爲有時候這些東西不起作用。另外,如果我這樣做,我不會學習如何做到這一點。 – MyCodeSucks 2013-02-12 14:53:45