4 respuestas
19 mensajes

Este tema lleva más de 6 meses inactivo. Es recomendable que abras un nuevo tema para retomar la conversación.
  • Favorito #1679122

    Necesito ayuda caprina con este script

    Hola de nuevo, Sras. y Sres.

    He conseguido este script que sirve para descargar canciones del servidor soundcloud.com

    Su uso es '$ soundcloud-dl.sh [URL_de_la_canción]'

    #!/bin/bash
    echo "soundcloud.com music downloader by http://360percents.com";

    if [ -z "$1" ]; then
    echo "";echo "Usage: `basename $0` [DJ-URL]";echo "";
    exit
    fi

    page=`wget $1 --user-agent='Mozilla/5.0' -O -`;
    songs=`echo "$page" | grep 'streamUrl' | tr '"' "\n" | grep 'http://media.soundcloud.com/stream/'`;
    songcount=`echo "$songs" | wc -l`
    titles=`echo "$page" | grep 'title":"' | tr ',' "\n" | grep 'title' | cut -d '"' -f 4`

    if [ -z "$songs" ]; then
    echo "No song found at this url.";
    exit;
    fi

    echo "Found $songcount songs!";

    for (( songid=1; songid <= $songcount ; songid++ ))
    do
    title=`echo "$titles" | sed -n "$songid"p`
    echo "Downloading $title..."
    wget -L `echo "$songs" | sed -n "$songid"p` --user-agent='Mozilla/5.0' -O "$title.mp3";
    done

    Funciona muy bien, pero el problema es que, además de la canción original, descarga otras canciones que pertenecen al usuario que subió la primera.

    Mi deseo sería modificar el script para que solamente descargue la primera canción.

    Un saludo.

    • Favorito #2040175

      ¿Quién está invocando a las cabras? ¿Quién es ese pendejo…

      ¿Quién está invocando a las cabras? ¿Quién es ese pendejo pinche empuja ratones galopante irreversible que osa invocar a las cabras?

      No conocía soundcloud.com, es más, no me gusta la música, y creo, como decía Napoleón, que la música es el menos molesto de todos los ruidos. Acabo de echarle un vistazo a ese script, y a la web soundcloud.com, después de ver la película "The Animal".

      Me dije, voy a descargar sólo la música titulada Antidote. Por ejemplo, voy a la siguiente web soundcloud.com/fitn/antidote-va-sendai-charity para descargarme la música titulada Antidote, pero ahí está toda la música completa de ese tío, no sólo la música titulada Antidote.

      Para ver cuantos ficheros de música hay en esa página, lo que hice fue comentar la siguiente línea del script, para que no descargue nada:

      # wget -L `echo "$songs" | sed -n "$songid"p` --user-agent='Mozilla/5.0' -O "$title.mp3"

      Pongo en marcha el script y me sale la lista con toda la música que hay en esa página, o sea, 6 ficheros de música barata.

      Entonces, como son las doce y cincuenta minutos de la noche, aquí en África, y no me quiero estrujar la neurona haciéndome un script, simplemente fui al código fuente de la página web, busqué "Antidote" y encontré el siguiente código....

      window.SC.bufferTracks.push({"id":12172771,"uid":"xA776e7pOMXd","user":{"username":"Fingers In The Noise","permalink":"fitn"},"uri":"/fitn/antidote-va-sendai-charity","duration":335330,"token":"vGksD","name":"antidote-va-sendai-charity","title":"Antidote ( VA - Sendai Charity - Unique International) read info link.","commentable":true,"revealComments":true,"commentUri":"/fitn/antidote-va-sendai-charity/comments/","streamUrl":"http://media.soundcloud.com/stream/xA776e7pOMXd?stream_token=vGksD","waveformUrl":"http://w1.sndcdn.com/xA776e7pOMXd_m.png","propertiesUri":"/fitn/antidote-va-sendai-charity/properties/","statusUri":"/transcodings

      Anda, pues por ahí debe estar la música titulada "Antidote" y ahí podré descargar solo esa música, no todas la música que hay en la página... así que puse esto en la consola y la cabra se metió en el corral

      wget media.soundcloud.com/stream/xA776e7pOMXd … _token=vGksD

      Renombro el fichero como mp3 y ya puedo escuchar la "música" que acabo de bajarme. Si quieres puedes renombrarla directamente con -O "nombre_que_sea.mp3", por ejemplo:

      wget media.soundcloud.com/stream/xA776e7pOMXd … _token=vGksD -O "out.mp3"

      Ahí está la cabra, y así con todas las cabras. Meter la cabra, o las cabras elegidas, en el corral, mediante un script, es tu problema. No sé si cuando buscas una canción, por ejemplo, Antidote, siempre aparece la primera de la lista en el código fuente del fichero html, pues no sé como va soundcloud.com, sería cosa de mirarlo, pero a mí me gustan las cabras, no las nubes.

      www.museum.state.il.us/ismdepts/library/ … s/abs-guide/

      Yo me voy a hacer una paja y luego me voy a dormir que mañana tengo que empujar la carretilla:

      • Favorito #2040181

        No estaba tranquilo en la cama, viendo como este pinche…

        No estaba tranquilo en la cama, viendo como este pinche ratones no puede elegir la música que desea sacar de la página web, así que he vuelto ...

        Se me ocurrió modificar el script para que sea un script informativo, no de descarga.

        Como en las páginas hay varias canciones, para elegir las que tú quieras, en el script aparece el título de las canciones y el enlace de las descargas, y lo único que hay que hacer es copiar y pegar el enlace deseado en el navegador, o en el gestor de descargas, y punto.

        Este es el script modificado:

        #!/bin/bash
        # Encuentra toda la música alojada en las páginas de soundcloud.com"
        #
        echo "soundcloud.com music downloader by http://360percents.com";

        if [ -z "$1" ]; then
        echo "";echo "Usage: `basename $0` [DJ-URL]";echo "";
        exit
        fi

        page=`wget $1 --user-agent='Mozilla/5.0' -O -`;
        songs=`echo "$page" | grep 'streamUrl' | tr '"' "\n" | grep 'http://media.soundcloud.com/stream/'`;
        songcount=`echo "$songs" | wc -l`
        titles=`echo "$page" | grep 'title":"' | tr ',' "\n" | grep 'title' | cut -d '"' -f 4`

        if [ -z "$songs" ]; then
        echo "No se encontró ninguna canción.";
        exit;
        fi

        echo "¡Se encontraron $songcount canciones! Pegalas en tu gestor de descargas:"
        echo
        for (( songid=1; songid <= $songcount ; songid++ ))
        do
        title=`echo "$titles" | sed -n "$songid"p`
        echo "#####################################"
        echo "$title..."
        echo "$songs" | sed -n "$songid"p
        done

        # Fin del script

        El funcionamiento sería así. Si queremos ver las canciones que contiene una página arrancamos el script con la dirección de la página web. Por ejemplo, en este caso:

        ./nombre_del_script soundcloud.com/fitn/antidote-va-sendai-charity

        Nos aparecerá está lista con las 6 canciones disponibles:

        ¡Se encontraron 6 canciones! Pegalas en tu gestor de descargas:

        #####################################
        Antidote ( VA - Sendai Charity - Unique International) read info link....
        media.soundcloud.com/stream/xA776e7pOMXd … _token=vGksD
        #####################################
        Full Moon (preview)...
        media.soundcloud.com/stream/suBs1quFF5Qo … _token=qPV9v
        #####################################
        The law of silence (wip preview deep/dub/techno)...
        media.soundcloud.com/stream/8Kujjq74QIWf … _token=RlDmG
        #####################################
        Fitn - ALL MY PRAYERS FOR JAPANESE PEOPLE (DeepinDub Netlabel)...
        media.soundcloud.com/stream/y9sIQRAGdrNN … _token=9bEhw
        #####################################
        Tuned \u0026amp; Detuned (intro preview - Ambient Experimental Glitch)...
        media.soundcloud.com/stream/nwlqiE8KfE6r … _token=aut84
        #####################################
        Basik Camel II (Variation - Preview)...
        media.soundcloud.com/stream/qGGmhsFKPdmx … _token=IYG2J
        cabrero@debian:~$

        Por ejemplo, si quieres descargar la canción Antidote ( VA - Sendai Charity )

        Pues el enlace lo tienes justo debajo de cada título, o sea...

        media.soundcloud.com/stream/xA776e7pOMXd … _token=vGksD

        Copias y pegas ese enlace en el navegador, gestor de descarga, y seguramente se queda guardado como mp3, y en caso contrario lo renombras a mp3 y listo.

        ------------------------------------------------------------------------------------

        Bueno, a mamarla.

        • Favorito #2040182

          Ah, y para que ves que funciona, si haces clic en los enlaces…

          Ah, y para que ves que funciona, si haces clic en los enlaces que ves en ese mismo post, directamente te descargas los ficheros con tu navegador windosero IExploter.

          • Favorito #2040185

            Ah, y este foro está muerto, y aquí no hay nadie a las tres…

            Ah, y este foro está muerto, y aquí no hay nadie a las tres de la madrugada, hora africana.

        • Favorito #2040271

          Gracias una vez más, Sr. Cabrero, por su asistencia. En este…

          Gracias una vez más, Sr. Cabrero, por su asistencia.

          En este script me he dado cuenta que siempre descarga primero la canción deseada. Entonces en su modificación faltaría poder enviar el primer resultado encontrado a wget dentro del script.

          De todas formas, ya otro forero ha dado con una solución:

          Pues cambia songcount=`echo "$songs" | wc -l` por songcount=1 ... yo que sé ...

          Aún así, le vuelvo a dar las gracias a Vd. por su ayuda y me alegro de volver a saludarle de nuevo.

          Saludos.

          • Favorito #2040413

            Sí, también vale que descargue solo la primera canción, pero…

            Sí, también vale que descargue solo la primera canción, pero yo no sé si en ese sitio siempre ponen la canción deseada en la cabeza de la lista. Creo que con el script "informativo" es mejor, porque así puedes elegir la canción, o las canciones que quieras, y sólo tienes que pegar los enlaces en el cacharro de las descargas. Veo que hay una "canción" de unos 60 megas", la hostia, la gente está cada vez más zumbada, más rara, porque si hay gente capaz de tragarse una "canción" de 60 megas es que el fin del mundo está próximo.

            Lo mejor es abandonar la música. La música es el menos molesto de todos los ruidos, pero sigue siendo ruido molesto al fin y al cabo. Abajo la música. Que le den por culo a la música..., y a los músicos también.

    • Favorito #2040921

      Sí, cuando te respondí al post ya había visto la respuesta…

      Sí, cuando te respondí al post ya había visto la respuesta del otro pinche empuja ratones, pero pensé que eso no funcionaría si algunas páginas no te ponen la música que tú has elegido en el primer enlace, así que pensé que era mejor en script "informativo".

      Aunque ya está solucionado, como no tenía en este momento nada mejor que hacer, si siempre la canción deseada es la que figura en el primer puesto de la lista, entonces también podemos hacerlo usando, por ejemplo, nuestro querido awk, por ejemplo:

      #!/bin/bash
      # Descarga solo la canción elegida de soundcloud.com"
      #
      echo "soundcloud.com music downloader by http://360percents.com_versión cabra";

      if [ -z "$1" ]; then
      echo "";echo "Usage: `basename $0` [DJ-URL]";echo "";
      exit
      fi

      cabra=`wget $1 --user-agent='Mozilla/5.0' -O -`;
      ruido=`echo "$cabra" | grep 'streamUrl' | tr '"' "\n" | grep 'http://media.soundcloud.com/stream/' | awk 'NR>1{exit};1'`;

      nombre=`echo "$cabra" | grep 'title":"' | tr ',' "\n" | grep 'title' | cut -d '"' -f 4 | awk 'NR>1{exit};1'`

      if [ -z "$ruido" ]; then
      echo "No song found at this url.";
      exit;
      fi

      echo "Bajando la puta música $nombre..."
      wget -L `echo "$ruido" ` --user-agent='Mozilla/5.0' -O "$nombre.mp3";

      # fin del script

      Acabo de probarlo y funciona bien.

      Aunque a mí me gusta más el script informativo que te indica el título y los enlaces de toda la música disponible en la página.

      • Favorito #2050135

        Mis sinceras disculpas por no haber contestado antes. Muchas…

        Mis sinceras disculpas por no haber contestado antes.

        Muchas gracias por este script. También funciona.

        Supongo que este script es de su exclusiva propiedad privada. Aun así, ¿le importa que cambie en él el término "cabra" por el de RubalCabra_for_President?

        Un saludo.

          • Favorito #2057266

            Ese no era yo, sino quien pedía ayuda con el script.

            Ese no era yo, sino quien pedía ayuda con el script.

        • Favorito #2057267

          Ni mi importa que cambies el término "cabra", ni mi importa…

          Ni mi importa que cambies el término "cabra", ni mi importa que a RubalCabra lo pique un pollo.