2010-05-04 111 views
0

我想从HTTP流式传输的互联网广播中提取信息字符串。我的意思是关于当前播放的歌曲,乐队名称等的短信。从http实时流解析元数据

最好我想用python来做。到目前为止,我已经尝试打开一个插座,但是从那里我得到任何提示

回答

1

听起来像是你可能在你面前需要一些垫脚石项目一堆,我无法分析二进制数据的...

感谢为此准备好了。没有理由对HTTP使用低级套接字库。命令行工具和像urlopen2这样的Python标准库模块都有很好的工具,可以为您处理低级别的TCP和HTTP细节。

您是否知道数据所在的URL?你是否在命令行上尝试了一些简单的命令,例如使用cURL获取原始HTML,然后使用一些基本工具(如grep)来搜索所需的信息?我在这里假设元数据实际上是以HTML的形式提供的,而不是通过无线电流传输器直接读取的二进制格式(推测这可能是闪存也许是?)。

很难给你任何细节,因为你的问题不包括任何关于你的数据源的技术细节。

+0

现在我意识到我并不是真的具体。我在Python中使用了urlopen,在过去实现了几个webcrawlers和类似的东西。但我在这里讨论的来源不是一个普通的HTTP网站。这是一个HTTP直播流,基本上可以在互联网上收听。他们可能会流式传输mp3或类似的东西,通过HTTP分成大块。 网址是http://82.134.68.82:8666 当你在说VideoLan播放器播放流时,它以某种方式提取字符串元数据,他们在哪里编写当前歌曲,乐队名称,收音机名称等。它是大约有几百个字符。 谢谢:) – supo 2010-05-08 10:47:29

+0

现在我尝试通过web浏览器访问网址,只是为了它的乐趣。它显示了一些基本信息,以及歌曲名称!这看起来像我需要的东西..它可能是更通用的解析它从流中,但它可能会与Shoutcast以外的其他渠道。所以任何提示仍然赞赏。 – supo 2010-05-08 10:51:14

+0

返回的HTTP内容类型标题是什么?该IP不允许我在此时连接。您可能想尝试使用firefox Live HTTP标头插件查看HTTP标头,或者通过telnet连接到该端口并输入手动HTTP GET/HTTP/1.0类型请求。 – 2010-05-08 19:47:08