30. August 2011

Jamendo Songs Downloaden (Script)

30. August 2011 - Geschrieben von Martin - Keine Kommentare

Gestern habe ich ein kleines Script in PHP geschrieben, mit dem man Jamendo Songs inklusiv Cover Bild herunterladen kann. Das Script liest die Informationen auf dem Jamendo Server aus und speichert die Tracks in folgendem Format:

/[ALBUM NAME]/[INTERPRET] - [TITEL].ogg
/[ALBUM NAME]/[INTERPRET] - [TITEL]_cover.jpg

Hier das Script, evl schreibe ich noch einen Downloader in Java oder C#, falls ich demnächst ein wenig Zeit finde:

<?php
if(isset($_GET['id'])) {
	$trackID = (int)$_GET['id'];
	// get download url
	$trackUrl = file_get_contents('http://www.jamendo.com/get/track/id/track/audio/plain/'.$trackID.'/?aue=ogg2');
	if($trackUrl == false) {
		echo 'track id not availible!';
	} else {
		// get track information
		$trackTitle = (string)file_get_contents('http://www.jamendo.com/get/album/id/album/title/plain/'.$trackID.'/');
		$trackInterpret = (string)file_get_contents('http://www.jamendo.com/get/artist/id/track/title/plain/'.$trackID.'/');
		$trackAlbum = (string)file_get_contents('http://www.jamendo.com/get/album/id/track/title/plain/'.$trackID.'/');
 
		$location = './'.$trackAlbum.'/'.$trackInterpret.' - '.$trackTitle;
		if(!file_exists($trackAlbum)) {
			mkdir($trackAlbum);
		}
		// download track
		$track = file_get_contents($trackUrl);
		file_put_contents($location.'.ogg', $track);
		// download cover
		$trackCoverUrl = file_get_contents('http://www.jamendo.com/get/album/id/track/artworkurl/plain/'.$trackID.'/?artwork_size=400');
		if($trackCoverUrl != false) {
			file_put_contents($location.'_cover.jpg', file_get_contents($trackCoverUrl));
		}
 
		echo 'track download finished!';
	}
}
echo '<p><form action="jamendo.php" method="GET"><label for="id">track id:</label> <input type="text" name="id" id="id" /><input type="submit" value="download" /></form></p>';

Schreibe einen Kommentar