下载音频文件

时间:2012-05-02 00:20:13

标签: java

也许我是盲目或愚蠢的,但经过30分钟的浏览后,我找不到任何有用的东西......

我想从thefreedicitonary下载一个音频文件(带有一个单词的发音 - 当你点击左边的那两个标志之一时播放) 它以这种方式嵌入(如果我理解的话)为flash对象:

<object codebase="http://fpdownload.macromedia.com...>
<param name="movie" value="http://img.tfd.com/m/sound.swf"><param name="menu" value="false">
<param name="wmode" value="transparent">
<param name="FlashVars" value="sound_src=http://img2.tfd.com/pron/mp3/en/US/dg/dgsysksfdyht.mp3&amp;image_src=http://img.tfd.com/m/flags/18_US.jpg">
<embed style="margin:0 0 0 3px;" src="http://img.tfd.com/m/sound.swf" flashvars="sound_src=http://img2.tfd.com/pron/mp3/en/US/dg/dgsysksfdyht.mp3&amp;image_src=http://img.tfd.com/m/flags/18_US.jpg" menu="false" width="28" height="18" wmode="transparent" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></object>

,所以当我下载HTML文件时,没有任何mp3链接的迹象:)

谢谢

2 个答案:

答案 0 :(得分:2)

  1. 它似乎嵌入在Flash中。这就是没有直接联系的原因。

  2. http://img2.tfd.com/pron/mp3/en/US/dg/dgsysksfdyht.mp3代码embed属性中似乎是flashvars。你可以解析一下: - )

答案 1 :(得分:1)

<td id=MainTitle nowrap><h1>word <script>playV2('en/US/dg/dgsysksfdyht');playV2('en/UK/dg/dgsysksfdyht')</script> </h1></td>

代码

class SoundURL {

    public static void main(String[] args) throws Exception {
        // let us assume you are able to trim it down to this..
        String script = "playV2('en/US/dg/dgsysksfdyht')";

        String prefix = "http://img2.tfd.com/pron/mp3/";
        String suffix = ".mp3";

        int start = script.indexOf("'");
        int end = script.indexOf("'", start+1);

        String path = script.substring(start+1,end);
        String urlString = prefix + path + suffix;

        System.out.println(urlString);
    }
}

输出

http://img2.tfd.com/pron/mp3/en/US/dg/dgsysksfdyht.mp3
Press any key to continue . . .

备注

您需要:

  1. 使用HTML解析器解析HTML。使用String操作方法仅适用于简单的简单字符串。
  2. 检查网站是否允许此类使用或资源。