Script para descargar música y álbumes completos de GoEar desde Windows (PowerShell)
ACTUALIZACIÓN (19/02/2010): El Script ha sido modificado y vuelve a funcionar perfectamente ;)
Hace unos días publicaba un pequeño script Bash para descargar música de GoEar. Hoy os traigo un porte de ese mismo script a PowerShell, que vendría a ser el Bash de Windows pero no se parecen en nada :P
De paso le he metido esteroides al script, así que si lo invocáis “script UrlDeGoEar” se descargará el fichero exactamente igual que su versión de Bash. Sin embargo, si lo invocáis “script palabras clave de lo que queráis” realizará una búsqueda en GoEar y se bajará el mp3 si encuentra alguna coincidencia :D
Además, si le pasáis una url de gracenote, como esta: http://www.gracenote.com/search/album_details.php?tui_id=00c6abba5df653cd encontrará las canciones, las buscará en GoEar y se las bajará :D
function IsURL([string]$data) { return ($data.startswith("http")) }
function CreateSearchUrl([string]$data) { return "http://www.goear.com/search.php?q=$data".Replace(' ','+') }
function PrintBanner()
{
Write-Host "GoEar Downloader for PowerShell - v0.1"
Write-Host "Pablo Carballude - 20/01/2009"
Write-Host ""
}
function DownloadFileFromURL([string]$url)
{
$fileid = $url.Split('/')[4]
echo "Looking for the mp3..."
$xmlurl = "http://www.goear.com/localtrackhost.php?f=$fileid"
$webclient = new-object net.webclient
$webclient.headers.Add("Content-Type", "text/xml; charset=utf-8")
$webclient.DownloadString($xmlurl) > temp.txt
$chunks = (get-content temp.txt | select-string ".mp3").ToString().Trim().Split("=")
$mp3url = $chunks[3].Split("`"")[1]
$artist = $chunks[5].Split("`"")[1]
$title = $chunks[6].Split("`"")[1]
echo "Starting the download of $title..."
[void][reflection.assembly]::LoadWithPartialName("microsoft.visualbasic")
(New-Object Microsoft.VisualBasic.Devices.Network).DownloadFile($mp3url, $artist+"-"+$title+".mp3", '', '', $true, 500,$true, 'DoNothing')
echo "File downloaded :)"
}
function ProcessFileLine([string]$line)
{
$data = $line.Split('=`"', [StringSplitOptions]::RemoveEmptyEntries)[3]
echo "http://www.goear.com/$data"
DownloadFileFromURL("http://www.goear.com/$data")
}
function LookForFile([string]$data)
{
echo "Searching on GoEar..."
$url = CreateSearchURL($data)
(new-object net.webclient).DownloadString($url) > temp.txt
$text = get-content temp.txt | select-string "href=`"listen"
foreach($line in ([string]$text).Split("<")){
if($line.startswith("a title")){
ProcessFileLine($line)
rm temp.txt
return
}
}
echo "Sorry, I can't find the file :("
rm temp.txt
}
function DownloadFilesListedOnGracenoteWeb([string]$url)
{
$webclient = new-object net.webclient
$webclient.headers.Add("Content-Type", "text/xml; charset=utf-8")
$text = $webclient.DownloadString($url)
$text > temp.txt
$artist = get-content temp.txt | select-string "<h1 id=`"title`">"
$artist = $artist.ToString().Trim().substring(15).Split("<")[0]
$text = get-content temp.txt | select-string "class=`"track_name`""
foreach($line in ([string]$text).Split("<")){
if($line.startswith("div class=")){
echo ""
$title = $line.substring(23)
echo "Detected song $title"
$tmp = $title + " " + $artist
LookForFile($tmp)
}
}
echo "All done :)"
}
PrintBanner
if ($args[0].contains("http://www.goear.com")) { DownloadFileFromURL($args[0])}
else { if ($args[0].contains("http://www.gracenote.com")) { DownloadFilesListedOnGracenoteWeb($args[0]) }
else { LookForFile($args) } }
# This was the old path
# $xmlurl = "http://www.goear.com/files/xmlfiles/"+$fileid[0]+"/secm"+$fileid+".xml"
TABLA - FUENTES - FONTS
SOUV2
- SOUV2P.TTF - 57 KB
- SOUV2I.TTF - 59 KB
- SOUV2B.TTF - 56 KB
- SOUV2T.TTF - 56 KB
- bai_____.ttf - 46 KB
- babi____.ttf - 47 KB
- bab_____.ttf - 45 KB
- balaram_.ttf - 45 KB
- SCAGRG__.TTF - 73 KB
- SCAGI__.TTF - 71 KB
- SCAGB__.TTF - 68 KB
- inbenr11.ttf - 64 KB
- inbeno11.ttf - 12 KB
- inbeni11.ttf - 12 KB
- inbenb11.ttf - 66 KB
- indevr20.ttf - 53 KB
- Greek font: BibliaLS Normal
- Greek font: BibliaLS Bold
- Greek font: BibliaLS Bold Italic
- Greek font: BibliaLS Italic
- Hebrew font: Ezra SIL
- Hebrew font: Ezra SIL SR
Disculpen las Molestias
TABLA - INFORMÁTICA - UTILIDADES
- 2011
- enero 2011 (25 posts)
- Oloblogger
- Vagabundia
- CSS3 GENERATOR - OLOBLOGGER
- HAGA SU PROPIA MUSICA
- Vagabundia
- 100 packs de íconos surtidos - Vagabundia
- tablas en css
- Curvas y redondeces - Vagabundia
- Vagabundia
- Oloblogger
- Vagabundia
- 3.9. The background-size’ property - w3.org
- Patterns con CSS3
- Oloblogger
- Usar JSON para mostrar Twitter - Vagabundia
- Sliderman: Un script para hacer sliders sin librer...
- Thought of you - Vagabundia
- Efecto cinta adhesiva en imágenes - Oloblogger
- Bloggers - Vagabundia
- BigImg: Otra forma de insertar imágenes gigantes -...
- Vagabundia: : “Los parámetros de los feeds de Blog...
- Alojar scripts para Blogger Edición rápida - OLOBL...
- Plugins sociales aleatorios para Facebook
- Fire - shadow
- Neon - shadow
- 2010
- diciembre
- efecto de linterna de Zachary Johnson en www.zachs...
- Shadow - Sombreados en los Textos - Vagabundia
- 4. DICCIONARIO BÍBLICO ADVENTISTA DEL SÉPTIMO DÍA
- 3. DICCIONARIO BÍBLICO ADVENTISTA DEL SÉPTIMO DÍA
- 2. DICCIONARIO BÍBLICO ADVENTISTA DEL SÉPTIMO DÍA
- 3. DICCIONARIO BÍBLICO ADVENTISTA DEL SÉPTIMO DÍA
- octubre
- septiembre
- julio
- junio
- mayo
- HTML ASCII Reference - The ASCII Character Set
- Typing Arabic and Farsi Numerals
- Smoothing Screen Fonts
- Outlook 2000
- Outlook Express 5
- Netscape Messenger 4.7
- Netscape
- Internet Explorer
- Windows XP: Language Settings
- Windows 2000: Language Settings
- General Unicode Information
- General Farsi Unicode Information
- Unicode in Internet Explorer 5, 5.5 and 6
- Unicode in Firefox for Windows
- UNICODE - Internet Explorer
- abril
- marzo
- Porque no me abre el disco local c
- Glosario Informático (H-Z)
- Glosario Informático (C-G)
- Glosario Informático (A-B)
- febrero
- Direcciones about: FIREFOX
- ASCII codes table - Format of standard characters
- 24 Character entity references in HTML 4
- Table of character entity references in HTML 4
- HTML Codes
- Index of Elements - Html
- ISO 639. Code for the representation of the names ...
- ASCII stands for American Standard Code
- enero
- 2009
- CUADRO GENERAL CONTENIDO MITOLOGÍA Y RELIGIÓN
- MITOLOGÍA HINDÚ
- Conceptos Hinduistas (1428)SC
- Category:Hindu (mythology) (3256)SC
- Category:Hindu mythology (3270)SC
- Categoría:Mitología hindú (3288)SC (indice)
- Categoría:Mitología hindú (videos) (3289)SC
- Conceptos Hinduista (A - G) SK y SC (videos) (3294)SC
- Conceptos Hinduistas (2919)SK · (2592)SK
- JUDAISMO
- VAISHNAVISMO
- Ärî Garga-Samhita
- Oraciones Selectas al Señor Supremo
- Devotees Vaishnavas
- Dandavat pranams - All glories to Srila Prabhupada
- Hari Katha
- SWAMIS VAISHNAVAS
- DEVOTOS VAISHNAVAS - FACEBOOK
- Santos Católicos
- EGIPTO
- Archivo Cervantes
- Sivananda Yoga
- Neale Donald Walsch
- ENCICLOPEDIA - INDICE
No hay comentarios:
Publicar un comentario