【问题标题】:Extract mp3 path from a iTunes playlist从 iTunes 播放列表中提取 mp3 路径
【发布时间】:2011-02-16 09:02:12
【问题描述】:

我想用 Python 编写一个程序,它允许我使用从 iTunes 播放列表中提取的 mp3 文件填充一个文件夹。

原因如下:我的车有一个可以读取 USB 驱动器的立体声音响,所以我想在我的 USB 驱动器中添加我最喜欢的歌曲,这些歌曲已经在 iTunes 中进行了整理。

这可能吗?我检查了 iTunes API,但找不到任何有用的东西...

谢谢

马特奥 - 意大利

【问题讨论】:

    标签: python itunes usb-drive playlist


    【解决方案1】:

    我没有现成的解决方案,但我可以帮助您自己制定解决方案。

    播放列表解析将是最困难的部分。使用 shutilos 模块和其他工具填充您的 USB 驱动器应该很简单,所以我不会讨论这部分。

    您可以在PyPI, a.k.a. the Cheese Shop 中搜索"itunes"。 “hachoir-parser”包看起来很有希望。您还可以调查iTunes library files 的格式并拼凑出一个解决方案来检索您想要的信息。它不使用 API,但出于您的目的,它可能就足够了。

    希望这会有所帮助,至少有一点点。

    【讨论】:

      【解决方案2】:

      Ciao 马特奥,

      您现在可能已经有了解决方案,但是普通的旧式拖放怎么样?

      1) 创建所有要复制的歌曲的播放列表
      2) 选择所有拖放到 USB
      3)根据需要重命名/重新标记

      我为 iTunes 编写了几个扩展,所以如果上述内容没有帮助,请告诉我。

      西蒙娜

      【讨论】:

        【解决方案3】:

        我在写完自己的文章后偶然发现了这篇文章。所以不惜做个不要脸的插件,这里是:https://github.com/lorenzog/python_playground/tree/master/itunes-extracter

        您可能感兴趣的关键部分是以下代码(将播放列表导出为 XML 文件后):

        r = etree.parse(xmlfile)
        locations = r.xpath('//key[.="Location"]')
        for el in locations:
            srcpath_enc_fullurl = el.getnext().text
        

        注意getnext() 调用:这是因为每个<key>Location</key> 项目后跟每个URL 编码格式的音频文件的完整路径。类似file:///Users/myself/foo/bar/music%20 directory/

        我希望这对您至少对其他人有所帮助。

        【讨论】:

          猜你喜欢
          • 2017-12-19
          • 2013-05-18
          • 1970-01-01
          • 1970-01-01
          • 2011-09-25
          • 1970-01-01
          • 2013-05-10
          • 2014-03-07
          • 2018-10-02
          相关资源
          最近更新 更多