0

也许我是盲人或愚蠢,但浏览 30 分钟后,我没有发现任何有用的东西......

我想从freedicitonary下载一个音频文件(带有单词的发音 - 当您单击左侧的这两个标志之一时播放) 它以这种方式嵌入(如果我理解正确)作为 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 链接的迹象 :)

谢谢

4

2 回答 2

2
  1. 它似乎嵌入在 Flash 中。这就是为什么没有直接链接。

  2. 它似乎http://img2.tfd.com/pron/mp3/en/US/dg/dgsysksfdyht.mp3embed标签 flashvars属性中。你可以解析那个:-)

于 2012-05-02T00:24:25.027 回答
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. 检查网站是否允许此类使用或其资源。
于 2012-05-02T00:50:36.593 回答