Mostrando entradas con la etiqueta soundcloud. Mostrar todas las entradas
Mostrando entradas con la etiqueta soundcloud. Mostrar todas las entradas

20120211

descarga cancion de soundcloud

Jugando nuevamente con soundcloud.com para descargar canciones, aun que no este habilitado el botón de download

Nuevo script, de parámetro recibe la url de una canción

#!/bin/bash

URL="$1";

MEDIA=`wget "$URL" -o /dev/null -O - | grep streamUrl | sed -e 's/.*"streamUrl"/"streamUrl"/' | cut -d, -f1 | cut -d\" -f4`;
NOM=`basename "$URL"`;
wget "$MEDIA" -o /dev/null -O "$NOM".mp3

Claro, esta versión 0 puede quedar en una sola linea.
O una versión 1 puede recibir mas parámetros

20110608

api SoundCloud

Como hoy, extrañamente, si tenia ganas de trabajar; termine rápido el pendiente y al no haber mas requerimientos para hoy, me puse a jugar con SoundCloud

Intentando leer un poco de http://developers.soundcloud.com/ veo que existen aplicaciones para escritorio pero no hay una que se adapate a mis necesidades por lo que por mera morbosidad me puse a realizar consultas a la api.

  • Primero, es necesario registrarse. La cuenta básica es gratuita por lo que no existe inconveniente de ir a http://soundcloud.com/ para crearla.
  • La cuenta nos permite ingresar a la interfaz pero para usar la api es necesario dar de alta una aplicación en http://soundcloud.com/you/apps/new Es importante guardar los datos de identificación
  • NOTA: Los pasos realizados los estoy ejecutando con curl desde linea de comandos. Como dato adicional, en el trabajo esta websense y para salir libremente empleo tor-browser por lo que paso como parámetro adicional a curl la salida del proxy
    $ TOR='--socks5 127.0.0.1:9050'
  • Si queremos comunicarnos tenemos que autentificarnos, para ello emplea oauth.
    $ curl $TOR 'https://api.soundcloud.com/oauth2/token' -d 'client_id={numeroCliente}' -d 'client_secret={numeroSecreto}' -d 'grant_type=password' -d 'username={cuenta@correo}' -d 'password={contrasenna}'
    {"access_token":"435cacc0cedf0249c4e1153453ac8144","expires_in":3599,"scope":"*","refresh_token":"4084a8c8e9e91e50dd4eadb3e151a240"}

    El valor importante es access_token. Se pueden emplear otros métodos de autentifiación
  • La consulta para obtener un listado de canciones es
    $ curl $TOR 'https://api.soundcloud.com/tracks.json?oauth_token=f751eb4a184caaa56fe60dce34abdbf9&q=zztop'
    La salida json es bastante amplia pero los interesantes son los campos download_url
  • Para descargan la canción es empleando dicho campo
    curl $TOR -L 'https://api.soundcloud.com/tracks/16106687/download?oauth_token=f751eb4a184caaa56fe60dce34abdbf9' -o /tmp/s.mp3
  • Listo para escuchar
    $ mpg321 /tmp/s.mp3
  • Siguiente paso, la automatización :D