首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python -解析LiquidSOAP元数据

Python -解析LiquidSOAP元数据
EN

Stack Overflow用户
提问于 2018-03-16 19:44:10
回答 1查看 239关注 0票数 0

我使用了优秀的liquidsoap流引擎,但是在解析来自telnet服务器的alsa.metadata命令结果时遇到了一些问题。

以下是他的输出示例:

代码语言:javascript
复制
--- 10 ---
source_url="http://liquidsoap.local:8020/radio"
title="anastacia - lumere lumera"
--- 9 ---
source_url="http://liquidsoap.local:8020/radio"
title="bob tostes - strangers in the night"
--- 8 ---
source_url="http://liquidsoap.local:8020/radio"
title="lucio battisti - amarsi un po"
--- 7 ---
source_url="http://liquidsoap.local:8020/radio"
title="george white group - nothing compares to you"
--- 6 ---
source_url="http://liquidsoap.local:8020/radio"
title="olivia - true colors"
--- 5 ---
source_url="http://liquidsoap.local:8020/radio"
title="ritmo del mundo - what s love got to do with it"
--- 4 ---
source_url="http://liquidsoap.local:8020/radio"
title="tania maria - come with me"
--- 3 ---
source_url="http://liquidsoap.local:8020/radio"
title="antonio carlos jobim a sting - how insentive"
--- 2 ---
source_url="http://liquidsoap.local:8020/radio"
title="dht - driver s seat"
--- 1 ---
source_url="http://liquidsoap.local:8020/radio"
title="marg nelson - lady marmelade"

它看起来不像任何已知的格式。csv、json、xml ...你能告诉我如何制作一个Python数组吗?

例如:

代码语言:javascript
复制
[10] => [source_url] => "http://liquidsoap.local:8020/radio", [title] => "anastacia - lumere lumera",
[9] => [source_url] => "http://liquidsoap.local:8020/radio", [title] => "bob tostes - strangers in the night"

谢谢,

EN

回答 1

Stack Overflow用户

发布于 2018-03-19 22:04:58

我使用该脚本来解析元数据:

代码语言:javascript
复制
url = 'http://localhost:8000/radio'
request = urllib2.Request(url, headers={'Icy-MetaData': 1})  # request metadata
response = urllib2.urlopen(request)
#print(response.headers, file=sys.stderr)
metaint = int(response.headers['icy-metaint'])
# title may be empty initially, try several times
response.read(metaint)  # skip to metadata
metadata_length = struct.unpack('B', response.read(1))[0] * 16  # length byte
metadata = response.read(metadata_length).rstrip(b'\0')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49319996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档