Candy candy

Una serata passata a navigare su internet. Ti capita di trovare su YouTube il tipo che mette online tutti i cartoni animati della tua infanzia.

E’ a questo punto che scatta la domanda del “committente” che è seduto a fianco a te sul divano: “come faccio per scaricarli tutti, che me li guardo con calma?”.

Beh, in questo caso il cliente va assolutamente assecondato. Come fare diversamente? E il programmatore che c’è in te riaffiora dal letargo di mail e telefonate sotto cui l’hai sepolto.

Metti insieme i pezzi:

Poi i pezzi finali:

  • un talk di govoni al linuxday di un paio d’anni fa: in fondo c’è da ottenere l’url del file.
  • python e BeautifulSoup (si poteva usare lxml, ma non lo conosco bene, il committente ha fretta.. in serata il lavoro va finito)
Candy su YouTube

Candy su YouTube

Un paio d’ore di lavoro, un po’ di analisi del’html che youtube e pwnyoutube generano e via: tutti i filmati di Candy Candy si possono scaricare sul tuo piccì.

Il package python lo trovi su pypi, ma, se vuoi contribuire, il sorgente è su googlecode.

Banale da usare:

tauntaun.local:/home/massimo massimo$ python
>>> from candy.candy import Candy
>>> c = Candy('culttoon2', path='/home/massimo/videos', howmany=250)
>>> c.run()

nella cartella ‘/home/massimo/videos’ ti trovi tutti i filmati.

Ovviamente le cose son più facili se usi linux o mac. Se però non sei passato ad un sistema operativo superiore occorre proprio che ti installi python.

Annunci

5 comments so far

  1. Cesku on

    Lo sto provando ora, funziona! ;)

  2. Massimo Azzolini on

    Chiaro che funziona. Il cliente in questo caso ha priorità massima. Non hai margini di errore :)

  3. a. on

    EDD ;-)

  4. webs86 on

    ciao…. sto provando candy candy, ma a me non funziona: utilizzo linux ubuntu. ho installato candy.candy via pypi e con questo codice:
    from candy.candy import Candy
    c = Candy(‘105ZOOILoveYou’, path=’/home/webs86/’, howmany=2)
    c.run()

    questo è l’errore che ricevo:
    raise HTMLParseError(message, self.getpos())
    HTMLParser.HTMLParseError: malformed start tag, at line 407, column 4736

    provato sia con python 2.6 sia 2.5

  5. Massimo Azzolini on

    ciao, non mi è arrivata la notifica del tuo commento. sorry

    mi sa che il pb è che http://www.pwnyoutube.com è cambiato da quando feci questo oggettino.

    se sai come patcharlo puoi scaricarti i sorgenti da http://code.google.com/p/candy-candy.

    else mandami il traceback completo perchè quello mi sa che sia relativo a beautifulsoup


Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: