4

我的计算机上有一个 xml 文档,基本上如下所示:

<item playlist="3" gameid="32" catid="1" title="Cul-De-Sac of Memories" artist="Christopher Lennertz" scr="../mp3/sims3p/build/cul-de-sac_of_memories.flv" />

<item playlist="3" gameid="30" catid="4" title="Brave" artist="Kelis" scr="../mp3/sims3ln/electronica/brave.flv" />

<item playlist="3" gameid="15" catid="1" title="First Volley" artist="General Midi" scr="../mp3/sims2nl/build/general_midi_-_first_volley.flv" />

除了它有比这更多的项目(和一些评论)。我一直在拼命寻找一种方法来获取程序/脚本:

  1. 取中间的 url和xml 标记中的src="下一个。"
  2. ../将url 中的替换为http://www.WEBSITE.com/并可能将其存储为变量,例如Song_URL.
  3. 从它获取 url 的同一个标签中取歌曲名称title="和下一个歌曲名称,也许也可以存储一个变量,比如."Song_Name
  4. 从 下载歌曲Song_URL并为其命名Song_Name

对于文档中这样的每个标签。请注意,文档中的某些标签如下所示:<item playlist="2" gameid="28" catid="2" title="Load" />对我来说无关紧要。

我对 Bash、Applescript 和 Python 有一点了解,但对这方面的了解还不够。如果有人能帮我做这件事,用任何你喜欢的编程语言(它可以是我列出的 3 种,或者 Java、Ruby、C 或任何你想要的),无论你想要什么,我都会非常感激!

4

2 回答 2

1

我不知道如何使用 python 来解决这个问题。但似乎您需要一个 XML 解析器库来提取所需的标签。然后使用一些字符串操作来获取您想要的 URL。最后从 URL 中获取您的 mp3。

我很确定你可以在 python 中完成你的工作。但是如果你不介意用 Java 处理它,这个站点描述了一些 XML 解析器库。我认为任何描述的库都会满足您的需求。获取 url 后,您可以像阅读本地文件一样通过以下代码阅读歌曲:

URL url = new URL("your song url");
url.openConnection();
InputStream reader = url.openStream();

希望有帮助。

于 2013-05-26T01:40:54.913 回答
0

在朋友的帮助下,我想出了如何做到这一点。在使用基本文本程序替换所有实例后../http://www.WEBSITE.com/我使用以下程序下载歌曲:

import urllib F = open('/PATH/TO/FILE.txt') document = F.readlines() for string in document:

index1 = string.find('scr="')+5
index2 = string.find('"',index1)
Song_url = string[index1:index2]

index3 = string.find('title="')+7
index4 = string.find('"',index3)
Song_name = string[index3:index4]

u = urllib.urlopen(Song_url)
localFile = open((Song_name + '.flv'),'w')
localFile.write(u.read())
localFile.close()

它就像一个魅力。

于 2013-05-31T15:48:32.527 回答