Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#51 Le 30/10/2006, à 21:00

Guillaume86

Re : [Programme] Télécharger la musique de RadioBlogClub

Azymut a écrit :

Fabuleux, ton programme, que du bonheur! ^^

Du coup, y a-t-il d'autres sites dans la veine de radioblogclub? qu'on puisse bidouiller le programme...:D

Si quelqu'un y arrive avec mybloop.com ca sera parfait les bitrates sont pas réduits sur ce site... J'ai un peu cherché mais j'ai pas trouvé, avis aux intérressés...

edit: aprés m'etre inscrit et testé 2 mins j'ai trouvé... Si quelqu'un se sent chaud pour faire un script python je veux bien donner les infos pour trouver l'url des mp3...

Dernière modification par Guillaume86 (Le 30/10/2006, à 21:11)

Hors ligne

#52 Le 30/10/2006, à 22:43

Julius

Re : [Programme] Télécharger la musique de RadioBlogClub

Ca pourrait déchirer tongue

Hors ligne

#53 Le 30/10/2006, à 23:02

foch

Re : [Programme] Télécharger la musique de RadioBlogClub

J'ai regardé 2 minutes aussi, mais je dois être fatigué, j'ai pas trouvé comment récupérer l'url du fichier hmm

par contre si tu es sur que c'est possible, la modification de mon script peut se faire en 15 minutes ! tu veux pas donner la méthode ? ou on va se faire tirer les oreilles par un admin ? tongue


De retour sous Ubuntu après quelques années sous ArchLinux.

Programme de téléchargement de musique qui ne marche plus vraiment.

Hors ligne

#54 Le 30/10/2006, à 23:04

tshirtman

Re : [Programme] Télécharger la musique de RadioBlogClub

ça pourrais devenir très interressant tout ça ^^, si vous hesitez a poster ici, y'as irc ou les mails ^^...

il suffirait de choisir sur quel réseau des deux faire la recherche et surcharger la methode de recherche/download en fonction... "et hop" ^^

Dernière modification par tshirtman (Le 30/10/2006, à 23:06)

Hors ligne

#55 Le 30/10/2006, à 23:25

Guillaume86

Re : [Programme] Télécharger la musique de RadioBlogClub

tshirtman a écrit :

ça pourrais devenir très interressant tout ça ^^, si vous hesitez a poster ici, y'as irc ou les mails ^^...

il suffirait de choisir sur quel réseau des deux faire la recherche et surcharger la methode de recherche/download en fonction... "et hop" ^^

Beh je sais pas je risque qqch a dire comment contourner les bazard? Pour etre honette j'ai essayé de modifier ton script mais étant une grosse m**** en python (et en programmation en général lol) j'arrive juste a ressortir les résultats d'une recherche et encore j'ai des problemes de parsing enfin voila je vais pas m'en sortir lol... Donc voila je t'explique tu pourra surement en faire qqch toi:
Tu fais ta recherche sur cette url:

"http://www.mybloop.com/search.o?q=" + termerecherche + "&e=files&tmus=1&p=" + numeropage

en sachant que tu as 25 résultats par pages et que

reg1 = re.compile('^.*of <b>(.*)</b> results.*$')

va te donner le nombre de résultats (normalement...)

Maintenant la partie intérressante pour les URLs:
dans ta page de recherche tu as par exemple:

        <tr bgColor="#FAFAFA">

         <td class="smallerTextLighter">11.</td>
         <td><img src="/images/icons/16x16/mp3.gif"></td>
         <td>
          <a href="http://www.mybloop.com/Padav1/Musique/Tryo_-_Mamagubida/Tryo_-_Mamagubida_-_07_-_La_Misere_Den_Face.mp3"><span class="highlight">Tryo</span> - Mamagubida - 07 - La Misere Den Face.mp3</a>
                       <a href="javascript:showPlayer('40366')"><img src="/images/playlist/play_xsm.gif" border="0" title="Play this song" style="position:relative; top:2px"></a>
                       
         </td>
         <td align="center">2</td>

         <td align="center"><img src="/images/star_off.gif" style="position:relative; top:0px"><img src="/images/star_off.gif" style="position:relative; top:0px"><img src="/images/star_off.gif" style="position:relative; top:0px"><img src="/images/star_off.gif" style="position:relative; top:0px"><img src="/images/star_off.gif" style="position:relative; top:0px"></td>
         <td align="center"><a href="/Padav1">Padav1</a></td>
         <td align="center">0</td>
        </tr>

Et bien l'url de telechargement sera: http://www.mybloop.com/get/40366/Tryo_-_Mamagubida_-_07_-_La_Misere_Den_Face.mp3 tu déduira facilement comment trouver le numero et le nom de fichier je te fais confiance wink
Voila je suis sur que tu saura faire un beau script avec ca,
Caio bon boulot a bientot j'espere...

edit: le numero de page commence a 1 pas a 0 comme sur radioblog

Dernière modification par Guillaume86 (Le 30/10/2006, à 23:30)

Hors ligne

#56 Le 30/10/2006, à 23:59

foch

Re : [Programme] Télécharger la musique de RadioBlogClub

Effectivement avec toutes ces infos ca m'a l'air bien simple ! Ce soir je suis naze j'ai pas les yeux en face des trous (probablement l'effet changement d'heure), mais dès que je trouve un peu de courage, je verrai si j'y arrive !


De retour sous Ubuntu après quelques années sous ArchLinux.

Programme de téléchargement de musique qui ne marche plus vraiment.

Hors ligne

#57 Le 05/11/2006, à 13:44

guigni

Re : [Programme] Télécharger la musique de RadioBlogClub

UPUPUP! big_smile
Tu as réussi le script?

#58 Le 05/11/2006, à 17:32

yasmina

Re : [Programme] Télécharger la musique de RadioBlogClub

bonjour jemerais bien s'avoire commant faire pour telecharger de la musique sur overnet

#59 Le 06/11/2006, à 18:23

foch

Re : [Programme] Télécharger la musique de RadioBlogClub

guigni a écrit :

UPUPUP! big_smile
Tu as réussi le script?

Pour l'instant je n'ai plus internet chez moi... je viens de demenager
va falloir attendre encore ! desole


De retour sous Ubuntu après quelques années sous ArchLinux.

Programme de téléchargement de musique qui ne marche plus vraiment.

Hors ligne

#60 Le 06/11/2006, à 21:02

guigni

Re : [Programme] Télécharger la musique de RadioBlogClub

Ok merci j'attend impatiement big_smile

#61 Le 07/11/2006, à 01:46

zorglb

Re : [Programme] Télécharger la musique de RadioBlogClub

smile

Hors ligne

#62 Le 07/11/2006, à 02:25

Miles Prower

Re : [Programme] Télécharger la musique de RadioBlogClub

Script en python ? big_smile

Ça te tenterait de te lancer dans cette aventure ? wink
http://gueux-forum.net/index.php?s=&showtopic=130005&view=findpost&p=893592


I wanna fly high
So I can reach the highest of all the heavens
Somebody will be
Waiting for me, so I have gotta fly higher.

Hors ligne

#63 Le 07/11/2006, à 09:49

Guillaume86

Re : [Programme] Télécharger la musique de RadioBlogClub

Miles Prower a écrit :

Script en python ? big_smile

Ça te tenterait de te lancer dans cette aventure ? wink
http://gueux-forum.net/index.php?s=&showtopic=130005&view=findpost&p=893592

C'est lui qui a fait le script dont vous parlez, je pensais pas retrouver qq1 de gueux.be ici smile, il a un moment j'ai pas mal participé (j'ai meme fait le script France2 France3 en modifiant un autre scipt...).

Hors ligne

#64 Le 07/11/2006, à 12:47

foch

Re : [Programme] Télécharger la musique de RadioBlogClub

Et puis l'interface graphique dont vous parlez sur le forum a deja ete faite... en PyGTK mais bon !


De retour sous Ubuntu après quelques années sous ArchLinux.

Programme de téléchargement de musique qui ne marche plus vraiment.

Hors ligne

#65 Le 07/11/2006, à 21:16

Guillaume86

Re : [Programme] Télécharger la musique de RadioBlogClub

Guillaume86 a écrit :

Bon j'ai modifié le scipt, tout fonctionne exepté le téléchargement à propremement parler,pourtant l'url est correcte j'ai vérifié mais j'obtiens un fichier qui me dit que le serveur n'a pas compris la demande ou qqch dans le genre, si tu peux m'aider... Voila le script modifié:

#!/usr/bin/env python
# -*- coding: cp1252 -*-

###
#
# RBCD - RadioBlogClub Downloader - Download songs from RadioBlogClub.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA
#
###

__version__ = "0.4"
__date__ = "29/08/2006"

import urllib, re, sys

def searchURL(i, params):
    """ Return the URL to search the MP3 """

    url = "http://www.mybloop.com/search.o?q=" + params + "&e=files&tmus=1&p=" + str(i)

    try:
        return urllib.urlopen(url).read()
    except IOError:
        print "Error : could not connect"
        sys.exit(1)


def main(argv):
    """ Main function, one to rule them all """

    #get the webpage data
    data = searchURL(1, "_".join(argv))
    lines = data.split('\n')

    #regular expression to find the number of songs
    reg1 = re.compile('^.*of <b>(.*)</b> results on.*$')

    n_songs = 0
    
    #get the number of songs
    for line in lines:
        if reg1.match(line):
            n_songs = int(reg1.search(line).groups()[0])
            break

    #if no song is found, exit
    if n_songs == 0:
        print "No song found"
        sys.exit(0)

    #get the number of pages to browse
    n_pages = n_songs / 25 + 1

    #download the pages
    pages = []
    pages.append(lines)
    numbers = [i for i in range(2, n_pages + 1)]
    for i in numbers:
        pages.append(searchURL(i, "_".join(argv)).split('\n'))

    #regular expression to find the song URLs
    reg2 = re.compile('^.*<a href=\"http://www.mybloop.com/.*\">(.*)</a>.*$')
    reg2b = re.compile('^.*<a href="javascript:showPlayer\(\'(.*)\'\)"><img.*$')
    songs = []
    num = []
    i = 0
    
    #parse the HTML data to find the songs and save in a list
    for page in pages:
        for line in page:
            if reg2.match(line):
                result = reg2.search(line).groups()      
                url = result[0]
                name = result[0].replace('</span>', '')
                songs.append((url, name))
                i += 1
                print "%4d : %s" % (i, name)
            if reg2b.match(line):
                resultb = reg2b.search(line).groups()
                numero = resultb
                num.append(numero)
                
    while 1:

        #get the user choice
        while 1:
            user = raw_input("Choice (q to exit): ")
            if user == 'q':
                sys.exit(0)
            try:
                choice = int(user)
            except ValueError:
                continue
            if choice > 0 and choice <= len(songs):
                break

        name = songs[choice - 1][1]
        name_search = name.replace('(', '\(').replace(')', '\)')\
                      .replace('[', '\[').replace(']', '\]')\
                      .replace('\'', '\\\\\'')

        url = "http://www.mybloop.com/get/" + str(num[choice - 1][0]) + "/" + songs[choice - 1][1]\
              .replace(' ', '%20')
        
        print url

        #the RBS file was not found
        if url == "":
            print "Song not found. Maybe the song was a SWF. Try another one."
            sys.exit(1)     

        #download the file
        print "downloading %s..." % (name, )
        urllib.urlretrieve(url, name)


#program entry point
if __name__ == "__main__":

    if len(sys.argv) == 1:
        print "RadioBlogClub Downloader v. " + __version__

        #enter interactive mode if no keywords are given
        user = raw_input("Enter keywords (q to exit): ")

        #problem with the '
        user = user.replace('\'', ' ')

        if user == 'q':
            sys.exit(0)
        else:    
            main(user.split(" "))
    else:    
        main(sys.argv[1:])

C'est certainement pas la maniere la plus clean de faire mais vu mes connaissances je ne peux faire que copier smile. @+

ps: voila ce que j'obtiens:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>400 Bad Request</TITLE>
</HEAD><BODY>
<H1>Bad Request</H1>
Your browser sent a request that this server could not understand.<P>
The request line contained invalid characters following the protocol string.<P>
<P>
</BODY></HTML>

Dernière modification par Guillaume86 (Le 07/11/2006, à 21:20)

Hors ligne

#66 Le 07/11/2006, à 21:27

Guillaume86

Re : [Programme] Télécharger la musique de RadioBlogClub

Et je viens de me rendre compte que mon script est foireux pour les longs noms de fichiers, j'aurais du récuperer le nom de fichier dans le lien et pas dans le texte affiché parce qu'a partir d'un moment il fait une troncature(...) mais bon il faut qd mm un nom assez long et j'en ai marre de faire des recherches sur les expressions régulieres ^^ je regarderai une autre fois si foch le fait pas.

Hors ligne

#67 Le 10/11/2006, à 10:45

foch

Re : [Programme] Télécharger la musique de RadioBlogClub

Je regarderai ca... pour l'instant j'ai internet qu'au boulot... et je suis sense faire du Java ! wink

mais a priori ton code a l'air bon, je ne devrais pas y passer trop de temps, et des que ca fonctionne je fais tout ca en mode graphique, ca devrait etre rapide aussi !


De retour sous Ubuntu après quelques années sous ArchLinux.

Programme de téléchargement de musique qui ne marche plus vraiment.

Hors ligne

#68 Le 12/11/2006, à 23:01

Guillaume86

Re : [Programme] Télécharger la musique de RadioBlogClub

Bon j'ai esquivé le probleme de redirection d'url, il suffit de remplacer dans le script la ligne

urllib.urlretrieve(url, name)

par

webbrowser.open(url)

et en bonus vous aurez droit a la vitesse de téléchargement et la barre d'avancement vu que c'est votre browser qui téléchargera wink, reste plus qu'a mettre ca en mode graphique.

PS: Pour les parresseux, voila le script ICI (clic droit puis enregistrer sous), il reste le probleme des longs noms de fichiers (si vous voyez 3 ptits points a la fin du nom laissez tomber) et un probleme bizarre de

 %20

a remplacer par des espaces pour que ca fonctionne dans certains cas...

Dernière modification par Guillaume86 (Le 12/11/2006, à 23:34)

Hors ligne

#69 Le 16/11/2006, à 20:25

moutonnoir

Re : [Programme] Télécharger la musique de RadioBlogClub

je suis nul en informatique es ce que qelqu'un pourait m'expliquer simplement comment faire?
merci d'avance

Hors ligne

#70 Le 03/12/2006, à 14:16

foch

Re : [Programme] Télécharger la musique de RadioBlogClub

et bien essaye, et tu verras que ca demande beaucoup plus de manips que l'utilisation du script ! (affichage du code source de la page entre autres)

mais c'est vrai que c'est possible... apres c'est comme tu sens ! tongue


De retour sous Ubuntu après quelques années sous ArchLinux.

Programme de téléchargement de musique qui ne marche plus vraiment.

Hors ligne

#71 Le 03/12/2006, à 15:01

foch

Re : [Programme] Télécharger la musique de RadioBlogClub

Bon j'ai eu un peu le temps de me pencher sur le probleme, et j'avoue que j'ai eu quelques soucis avec la commande qui permet normalement de telecharger des fichiers en python (urllib.urlretrieve). pour des raisons obscures elle refuse de fonctionner, alors j'ai remplace la commande par un appel a wget (ce qui me semble plus pro que d'appeller un navigateur web).

Par contre j'ai pas vraiment teste le programme de maniere fonctionnelle, et j'ai pas encore vu de cas avec les ...

#!/usr/bin/env python
# -*- coding: cp1252 -*-

###
#
# MBD - MyBloop Downloader - Download songs from MyBloop.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA
#
###

__version__ = "0.1"
__date__ = "03/12/2006"

import urllib, re, sys, os

def searchURL(i, params):
    """ Return the URL to search the MP3 """

    url = "http://www.mybloop.com/search.o?q=" + params + "&e=files&tmus=1&p=" + str(i)

    try:
        return urllib.urlopen(url).read()
    except IOError:
        print "Error : could not connect"
        sys.exit(1)


def main(argv):
    """ Main function, one to rule them all """

    #get the webpage data
    data = searchURL(1, "_".join(argv))
    lines = data.split('\n')

    #regular expression to find the number of songs
    reg1 = re.compile('^.*of <b>(.*)</b> results on.*$')

    n_songs = 0
    
    #get the number of songs
    for line in lines:
        if reg1.match(line):
            n_songs = int(reg1.search(line).groups()[0])
            break

    #if no song is found, exit
    if n_songs == 0:
        print "No song found"
        sys.exit(0)

    #get the number of pages to browse
    n_pages = n_songs / 25 + 1

    #download the pages
    pages = []
    pages.append(lines)
    numbers = [i for i in range(2, n_pages + 1)]
    for i in numbers:
        pages.append(searchURL(i, "_".join(argv)).split('\n'))

    #regular expression to find the song URLs
    reg2 = re.compile('^.*<a href=\"http://www.mybloop.com/.*\">(.*)</a>.*$')
    reg2b = re.compile('^.*<a href="javascript:showPlayer\(\'(.*)\'\)"><img.*$')
    songs = []
    num = []
    i = 0
    
    #parse the HTML data to find the songs and save in a list
    for page in pages:
        for line in page:
            if reg2.match(line):
                result = reg2.search(line).groups()      
                url = result[0]
                name = result[0].replace('</span>', '')
                songs.append((url, name))
                i += 1
                print "%4d : %s" % (i, name)
            if reg2b.match(line):
                resultb = reg2b.search(line).groups()
                numero = resultb
                num.append(numero)
                
    while 1:

        #get the user choice
        while 1:
            user = raw_input("Choice (q to exit): ")
            if user == 'q':
                sys.exit(0)
            try:
                choice = int(user)
            except ValueError:
                continue
            if choice > 0 and choice <= len(songs):
                break

        name = songs[choice - 1][1]
        name_search = name.replace('(', '\(').replace(')', '\)')\
                      .replace('[', '\[').replace(']', '\]')\
                      .replace('\'', '\\\\\'')

        url = "http://www.mybloop.com/get/" + str(num[choice - 1][0]) + "/" + songs[choice - 1][1]\
              .replace(' ', '%20')
        
        print url

        #the file was not found
        if url == "":
            print "Song not found. Maybe the song was a SWF. Try another one."
            sys.exit(1)     

        #download the file
        print "downloading %s..." % (name, )

	#it's strangely not working with urllib.urlretrieve (error 400) so we use wget
	os.system("wget %s" % (url, ))



#program entry point
if __name__ == "__main__":

    if len(sys.argv) == 1:
        print "MyBloop Downloader v. " + __version__

        #enter interactive mode if no keywords are given
        user = raw_input("Enter keywords (q to exit): ")

        #problem with the '
        user = user.replace('\'', ' ')

        if user == 'q':
            sys.exit(0)
        else:    
            main(user.split(" "))
    else:    
        main(sys.argv[1:])

Dernière modification par foch (Le 03/12/2006, à 15:02)


De retour sous Ubuntu après quelques années sous ArchLinux.

Programme de téléchargement de musique qui ne marche plus vraiment.

Hors ligne

#72 Le 06/12/2006, à 01:01

Mathieu11

Re : [Programme] Télécharger la musique de RadioBlogClub

Vraiment bien mais le seul probleme avec le script pour my bloop :
Ou va la musique telechargee ? Je ne la retrouve nulle part...


Vostro 1400

Hors ligne

#73 Le 06/12/2006, à 19:44

foch

Re : [Programme] Télécharger la musique de RadioBlogClub

Ben normalement dans le dossier en cours ! celui ou tu lances le script quoi


De retour sous Ubuntu après quelques années sous ArchLinux.

Programme de téléchargement de musique qui ne marche plus vraiment.

Hors ligne

#74 Le 09/12/2006, à 18:20

Skyper

Re : [Programme] Télécharger la musique de RadioBlogClub

J'ai essayé ton script mais il n'y a pas de téléchargement qui se produit.

Au niveau de le ligne wget, il y'a peut être un souci non?
A quoi correspond os.system?

Merci pour les précisions smile

#75 Le 09/12/2006, à 18:32

Skyper

Re : [Programme] Télécharger la musique de RadioBlogClub

Skyper a écrit :

J'ai essayé ton script mais il n'y a pas de téléchargement qui se produit.

Au niveau de le ligne wget, il y'a peut être un souci non?
A quoi correspond os.system?

Merci pour les précisions smile

J'ai mis juste pour tester à la ligne en question

os.system("wget %s" % url) 

et ça a l'air de marcher ^^