從網站下載音頻文件

audio c# download html-agility-pack website

我想要做的是從網站上下載音頻文件。單擊小耳罩後會播放音頻文件並觸發播放聲音。我想知道是否有可能找到並下載聲音。

我嘗試找到它的嘗試:

public void grabAudio()
    {
        string s = "http://pokedream.com/pokedex/pokemon/bulbasaur";

        HtmlWeb hw = new HtmlWeb();
        HtmlAgilityPack.HtmlDocument doc = hw.Load(s);

        var audio = doc.DocumentNode.SelectNodes("//div[@class='triggers']//img#pokecry-trigger")[0];
        if (doc.DocumentNode.SelectNodes("//div[@class='triggers']//img#pokecry-trigger")[0] != null)
        {
            //I have no idea what im doing :(
        }

    }

我想要獲得的圖片鏈接到網站

任何和所有的幫助表示讚賞:)

一般承認的答案

首先,如果您沒有網站作者的權限來執行此操作,您可能不應該這樣做。

現在,如果您確實擁有適當的許可並且有正當理由這樣做;您可以檢查信號源並查看圖像沒有明顯的功能 - 圖像不播放聲音。所以功能很可能是用JavaScript控制的。

因此,您開始查看JavaScript,查找附加到感興趣元素的內容。你應該在pokedex.js找到這個代碼:

$('#pokecry-trigger').click(function() {
    $('#pokecry').html('<embed src="/pokedex/images/cries/' + $('#identifier').text() + '.mp3" />');
  });

因此,當您單擊圖像時,會在標記中添加一個embed標記。查看src標記,您可以得出文件位於/pokedex/images/cries/<id>.mp3的結論,其中網站在ID為#identifier的標記中輸出ID。

從那裡你只需找到你需要的每個聲音的ID,然後下載它。這是通過下載HTML標記,找到標識符DIV並將其插入URL模板來完成的,如上所述:

$('#pokecry-trigger').click(function() {
    $('#pokecry').html('<embed src="/pokedex/images/cries/' + $('#identifier').text() + '.mp3" />');
  });



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因