MLB: Come scaricare i Condensed Games automaticamente e gratis!!! [SOLVED]

Il Punto d'incontro dei Fans MLB di Play.it USA
Locked
User avatar
thegrimreaper
Rookie
Rookie
Posts: 244
Joined: 09/03/2009, 15:44
MLB Team: Boston Red Sox

MLB: Come scaricare i Condensed Games automaticamente e gratis!!! [SOLVED]

Post by thegrimreaper »

UPDATE 22/9/2010: Paperone segnala, la cancellazione dello Zip con la versione per Windows dal sito di file hosting; ricaricato nuovo Zip. Lo script Linux in questo primo post e' confermato essere funzionante alla data di questo update.
UPDATE 8/4/2010: Attenzione con qualche barbatrucco sono riuscito a ripristinare lo scarico dei Condensed in formato MP4 ad alta risoluzione
Al momento e' quindi nuovamente possibile scaricarli su Windows... per Linux e' ancora work in progress (vi risparmio i dettagli tecnici, PM per altre info).
FYI: qualcuno dei colleghi di forum ha segnalato un generale decadimento nella qualita' sostanziale dei Condensed (azioni tagliate, non tutti gli AB, H non incluse ecc).
Cerchero' di mantenere aggiornato questo post con le ultime versioni funzionanti per Linux/Unix o Windows.

UPDATE 6/4/2010: Attenzione il sito dell'MLB ha subito qualche ritocco cosmetico e non solo!!!
I vecchi Condensed in formato MP4 ad alta risoluzione non sono piu' scaricabili perche' trasferiti in tecnologia Streaming Video.

L'unico formato al momento disponibile e' 3GP in risoluzione 320x240 e bitrate video ~550kbps
Ricordo che per visualizzare i 3gp sul pc bastano player anche free (tipo VLC o mpui-hcb) mentre i piu' recenti smartphone (Nokia in primis) dovrebbero essere in grado nativamente di supportare i 3gp.


Buongiorno a tutti ...
a voi un piccolo script shell Linux (o dialetti affini) per scaricare automaticamente e gratis tutti i Condensed Games di una determinata data dal sito dell'MLB.
Per Windows guardate a fondo post.

Creare o individuare una directory su Linux in cui mettere tutto, io avevo /shares/internal/PUBLIC/Baseball/MLB_Condensed_Videos che e' condivisa come disco di rete e riesco a vederla da tutti i PC su cui lavoro. (Non spieghero' ora come condividerla ... per semplificare)

Code: Select all

# mkdir /shares
# mkdir /shares/internal
# mkdir /shares/internal/PUBLIC
# mkdir /shares/internal/PUBLIC/Baseball
# mkdir /shares/internal/PUBLIC/Baseball/MLB_Condensed_Videos
Creare con vi o simili uno shell script (io l'ho chiamato getcondensed.sh) che contenga quanto segue:

Code: Select all

#!/bin/sh
cd /home/PUBLIC/Baseball/MLB_Condensed_Videos

if [ $# -lt 1 ] ; then
	dt=`TZ=EST+24 date +%Y%m%d`
else
	dt=$1
fi

echo "Downloading condensed for : $dt" > /tmp/_t.log

(
cat <<'---EOAWK---'
BEGIN {
FS="</td>"
vidscount=0
}

/<td class="mmg_time">.*<\/td>$/ {
	gsub(/<td class="mmg_time">/, "", $1)
	gsub(/<td class="mmg_matchup">/, "", $2)
	gsub(/<td class="mmg_condensed">/, "", $11)
	gsub(/<a href="/, "http://www.mlb.com/", $11)
	gsub(/"><span class="display_text">Watch<\/span><\/a>/, "", $11)

	if ( $11 == "" ) next
	if ( match($2,/Yankees/) || match($2,/Red Sox/) ) ; else next

	system("wget -a /tmp/_t.log -O /tmp/_t1.tmp " $11)
	system("grep \"<!-- metafile:.*-->\" /tmp/_t1.tmp > /tmp/_t2.tmp")

	getline xmlurl < "/tmp/_t2.tmp"
	close("/tmp/_t2.tmp")
	gsub(/<!-- metafile: /, "http://www.mlb.com", xmlurl)
	gsub(/ -->/, "", xmlurl)

	system("wget -a /tmp/_t.log -O /tmp/_t3.tmp " xmlurl)

	getline xml < "/tmp/_t3.tmp"
	close("/tmp/_t3.tmp")

	game[vidscount] = $2
	
	match(xml, "id=\"[0-9]+\"")
	vid[vidscount] = substr(xml,RSTART+4,RLENGTH-5)

#	match(xml, "<url playback_scenario=\"3GP_H264_550K_320X240\".*</url>")
	match(xml, "<url playback_scenario=\"FLASH_1000K_640X360\".*</url>")

	split(substr(xml,RSTART,RLENGTH), splt, "[<>]")
	vidurls[vidscount] = splt[3]
	print vidurls[vidscount] >> "/tmp/_t.log"

	match(xml, "<keyword type=\"event_date\" value=\".*\"")
	split(substr(xml,RSTART+34,RLENGTH-1), splt, "[-T:]")
#	wgetfile[vidscount] = "wget -c -a /tmp/_t.log -O \"" splt[1] splt[2] splt[3] splt[4] splt[5] " " $2 " (#" vid[vidscount] ").3gp\" " vidurls[vidscount]
        wgetfile[vidscount] = "rtmpdump -q -o \"" splt[1] splt[2] splt[3] splt[4] splt[5] " " $2 " (#" vid[vidscount] ").flv\" -r " vidurls[vidscount]

	vidscount=vidscount+1
}

END {
	for (x = 0; x < vidscount; x++) {
		print "Game: " game[x] >> "/tmp/_t.log"
		if (system(wgetfile[x]) != 0) 
			system("logger -t ERROR MLB '" game[x] " " wgetfile[x] "'")
		else
			system("logger -t OK MLB '" game[x] " " wgetfile[x] "'")
	}	
}

function rsleep(s)
{
	slpcmd = "sleep " int(s * rand())
	system(slpcmd)
}
---EOAWK---
) > /tmp/_t0.awk


wget -a /tmp/_t.log -O /tmp/_t0.tmp http://mlb.mlb.com/mediacenter/index.jsp?ymd=$dt

awk -f /tmp/_t0.awk /tmp/_t0.tmp

rm /tmp/_t0.awk /tmp/_t[0123].tmp
Rendetelo eseguibile cambiando gli attributi dello script cosi':

Code: Select all

# chmod 755 getcondensed.sh
Lanciatelo con la data come parametro con questo formato YYYYMMDD cosi':

Code: Select all

# ./getcondensed.sh 20090623
La migliore qualita' al momento disponibile e' questa:

Image

Image

Image
A me funziona ... non so quanto durera' pero'!!!
Ovviamente si puo' personalizzare a piacere con qualche altra martellata per renderlo selettivo su alcune squadre e per pianificarlo in automatico una volta al di'...

ENJOY!!!

Per Windows scaricate questo ZIP (copiate il link nel browser):

Code: Select all

http://uploading.com/files/879f56c1/condensed_20100922.zip/
password=playitusa
Estraete tutto in una directory vuota

Lanciate getcondensed.bat con la data come parametro con questo formato YYYYMMDD cosi':

Code: Select all

C:\DIRECTORY> getcondensed.bat 20090623

Per non scaricarsi tutti i Condensed Games della data indicata ma solo alcune squadre:

1a) Se su DOS/WINDOWS, aprire con notepad il file getcondensed.awk
1b) Se su UNIX/LINUX, aprire con vi il file getcondensed.sh

2) Cercare questa riga:

Code: Select all

	if ( $11 == "" ) next
3)
Se ti interessa una sola squadra, aggiungi la seguente linea dopo la riga trovata:

Code: Select all

        if ( match($2,/Yankees/) ) ; else next
Se ti interessano due squadre, aggiungi la seguente linea dopo la riga trovata:

Code: Select all

	if ( match($2,/Yankees/) || match($2,/Red Sox/) ) ; else next
Image

Se ti interessano tre o piu' squadre, aggiungi la seguente linea dopo la riga trovata secondo il modello e cosi' via per ulteriori squadre:

Code: Select all

	if ( match($2,/Yankees/) || match($2,/Red Sox/) || match($2,/Tigers/) ) ; else next
Se interessano tutte le squadre, commenta questa riga con il cancelletto # in prima posizione (o cancella tutta la riga)

Code: Select all

#	if ( match($2,/Yankees/) || match($2,/Red Sox/) ) ; else next
4) Salvare il file

5) Rilanciare come al solito il comando

In caso di PROBLEMI con la versione Windows:

In caso di problemi per aumentare il livello di "loquacita'" del "barbatrucco" modificate il file "getcondensed.bat" cosi':
Image

e rilanciate ... dovrebbero comparirvi molte piu' info

In caso di persistenza degli errori o altro postate qui l'output del comando "getcondensed.bat" e i due file "_t3.tmp" "_t.log"

Have Fun!!!
Last edited by thegrimreaper on 24/09/2010, 2:04, edited 1 time in total.
Well... it's like... when a great baseball team loses its clean-up hitter, suddenly everybody's swinging for the fences and nobody's playing small ball. (Cit. Sara Sidle - CSI: Las Vegas)
User avatar
Tasco
Pro
Pro
Posts: 4684
Joined: 05/02/2007, 12:15
MLB Team: Boston Red Sox
NFL Team: New England Patriots
NBA Team: Boston Celtics
NHL Team: Boston Bruins
Location: Bolzano

Re: MLB: Come scaricare i Condensed Games automaticamente e gratis!!! [SOLVED]

Post by Tasco »

Ma i condensed non sono ancora a pagamento? Perchè in quel caso (e se si dovesse poter fare sta cosa anche senza abbonamento) suppongo che una cosa del genere non sia ben vista qui sul forum.
User avatar
thegrimreaper
Rookie
Rookie
Posts: 244
Joined: 09/03/2009, 15:44
MLB Team: Boston Red Sox

Re: MLB: Come scaricare i Condensed Games automaticamente e gratis!!! [SOLVED]

Post by thegrimreaper »

Tasco wrote: Ma i condensed non sono ancora a pagamento? Perchè in quel caso (e se si dovesse poter fare sta cosa anche senza abbonamento) suppongo che una cosa del genere non sia ben vista qui sul forum.
Non mi risulta siano a pagamento ...
Io ci arrivo comodo da qui:
h**p://mlb.mlb.com/mediacenter/index.jsp?ymd=20090623

Image
Well... it's like... when a great baseball team loses its clean-up hitter, suddenly everybody's swinging for the fences and nobody's playing small ball. (Cit. Sara Sidle - CSI: Las Vegas)
User avatar
kyuxx
Rookie
Rookie
Posts: 287
Joined: 29/05/2006, 14:27
Location: Schio

Re: MLB: Come scaricare i Condensed Games automaticamente e gratis!!! [SOLVED]

Post by kyuxx »

thegrimreaper wrote: Non mi risulta siano a pagamento ...
Io ci arrivo comodo da qui:
h**p://mlb.mlb.com/mediacenter/index.jsp?ymd=20090623

Image
Complimenti thegrimreaper, veramente un bel lavoro!!!  :applauso:
MILANO1946_ultrà
Senior
Senior
Posts: 1157
Joined: 28/01/2008, 19:59
Contact:

Re: MLB: Come scaricare i Condensed Games automaticamente e gratis!!! [SOLVED]

Post by MILANO1946_ultrà »

Scusate ma per chi non ha voglia di prendere una laurea in Ingegneria delle Complicazioni (con specializzazione in "Linux", C.F.U 9) e usa Wimdows c'è una soluzione o no?
User avatar
thegrimreaper
Rookie
Rookie
Posts: 244
Joined: 09/03/2009, 15:44
MLB Team: Boston Red Sox

Re: MLB: Come scaricare i Condensed Games automaticamente e gratis!!! [SOLVED]

Post by thegrimreaper »

MILANO1946_ultrà wrote: Scusate ma per chi non ha voglia di prendere una laurea in Ingegneria delle Complicazioni (con specializzazione in "Linux", C.F.U 9) e usa Wimdows c'è una soluzione o no?
Per Windows scarica questo ZIP (copia il link in internet explorer e aggiusta i h**p con le due lettere giuste):

h**p://uploading.com/files/V0QI85MT/mlbcondensed.zip.html

Estrai tutto in una directory vuota

Lancia getcondensed.bat con la data come parametro con questo formato YYYYMMDD cosi':

C:\DIRECTORY> getcondensed.bat 20090623

Prova e fammi sapere.

Ciao.
Well... it's like... when a great baseball team loses its clean-up hitter, suddenly everybody's swinging for the fences and nobody's playing small ball. (Cit. Sara Sidle - CSI: Las Vegas)
dicmod
Senior
Senior
Posts: 2897
Joined: 18/10/2006, 10:16
MLB Team: Phillies
NFL Team: Eagles
NBA Team: Utah Jazz
NHL Team: Flyers
Location: Cuneo

Re: MLB: Come scaricare i Condensed Games automaticamente e gratis!!! [SOLVED]

Post by dicmod »

Cavolo! Benvenuto! Certo che per i condensed tutto questo sbattimento è un po' inutile, sono gratis e se li voglio salvare mentre li guardo uso un qualsia ad on di firefox, sarebbe molto più bello riuscire a registrare le partite!
User avatar
thegrimreaper
Rookie
Rookie
Posts: 244
Joined: 09/03/2009, 15:44
MLB Team: Boston Red Sox

Re: MLB: Come scaricare i Condensed Games automaticamente e gratis!!! [SOLVED]

Post by thegrimreaper »

dicmod wrote: Cavolo! Benvenuto! Certo che per i condensed tutto questo sbattimento è un po' inutile, sono gratis e se li voglio salvare mentre li guardo uso un qualsia ad on di firefox, sarebbe molto più bello riuscire a registrare le partite!
Ciao e grazie per il benvenuto.
Nessuno sbattimento ... anzi, ne ho approfittato per togliere un po' di ruggine.
Comunque in questo modo posso scaricarmeli automaticamente a casa senza dover fare nulla e ritrovarmeli altrettanto automaticamente caricati sul telefonino o sul lettore portatile per vedermeli nei miei quotidiani e interminabili trasferimenti con i mezzi, senza per forza aver bisogno di stare davanti al PC e di avere connessione internet.
O vederli la sera insieme al piccolo sulla console attaccata alla tele.
Hai ragione per le partite, ma non avendo fatto sottoscrizione non riesco nemmeno verificare se e' fattibile; poi, personalmente non ho cosi' tanto tempo libero per riuscire a seguire un'intera partita (live o registrata che sia); con qualche dubbio sulla legittimita' di eventuali registrazioni.
Ciao.
Well... it's like... when a great baseball team loses its clean-up hitter, suddenly everybody's swinging for the fences and nobody's playing small ball. (Cit. Sara Sidle - CSI: Las Vegas)
User avatar
kyuxx
Rookie
Rookie
Posts: 287
Joined: 29/05/2006, 14:27
Location: Schio

Re: MLB: Come scaricare i Condensed Games automaticamente e gratis!!! [SOLVED]

Post by kyuxx »

thegrimreaper wrote: Per Windows scarica questo ZIP (copia il link in internet explorer e aggiusta i h**p con le due lettere giuste):

h**p://uploading.com/files/V0QI85MT/mlbcondensed.zip.html

Estrai tutto in una directory vuota

Lancia getcondensed.bat con la data come parametro con questo formato YYYYMMDD cosi':

C:\DIRECTORY> getcondensed.bat 20090623

Prova e fammi sapere.

Ciao.
Va che e' una meraviglia sia sotto linux che sotto windows  :forza:
User avatar
antoniocoscia93
Senior
Senior
Posts: 2766
Joined: 22/04/2008, 15:21
Location: antenna di casa vostra

Re: MLB: Come scaricare i Condensed Games automaticamente e gratis!!! [SOLVED]

Post by antoniocoscia93 »

Per windows qualcuno ha provato fiddler??? :penso: http://www.fiddlertool.com/
MILANO1946_ultrà
Senior
Senior
Posts: 1157
Joined: 28/01/2008, 19:59
Contact:

Re: MLB: Come scaricare i Condensed Games automaticamente e gratis!!! [SOLVED]

Post by MILANO1946_ultrà »

Sarò un super idiota, ma non ci ho capito un'emerita mazza di come fa funzionare il tutto per Windows:

1)Ho estratto la cartella e vi ho trovato dentro:

-Awk
-getcondensed
-getcondensed.awk
-grep
-libeay32.dll
-libiconv2.dll
-libiconv-2.dll
-libintl3.dll
-libintl-2.dll
-libssl32.dll
-pcre.dll
-wget

2)Qualsiasi di questi file, se aperti non fanno partire programmi
3)Usando il Prompt dei Comandi? Però cosa devo inserire (ho provato a trascinarci dentro il getcondensed, mi mette tutta la "stringa" ma non parte.
User avatar
kyuxx
Rookie
Rookie
Posts: 287
Joined: 29/05/2006, 14:27
Location: Schio

Re: MLB: Come scaricare i Condensed Games automaticamente e gratis!!! [SOLVED]

Post by kyuxx »

MILANO1946_ultrà wrote: Sarò un super idiota, ma non ci ho capito un'emerita mazza di come fa funzionare il tutto per Windows:

1)Ho estratto la cartella e vi ho trovato dentro:

-Awk
-getcondensed
-getcondensed.awk
-grep
-libeay32.dll
-libiconv2.dll
-libiconv-2.dll
-libintl3.dll
-libintl-2.dll
-libssl32.dll
-pcre.dll
-wget

2)Qualsiasi di questi file, se aperti non fanno partire programmi
3)Usando il Prompt dei Comandi? Però cosa devo inserire (ho provato a trascinarci dentro il getcondensed, mi mette tutta la "stringa" ma non parte.
usa il prompt dei comandi, ma non trascinarci niente!
nel prompt digiti  C:\DIRECTORY> getcondensed.bat 20090623 dove DIRECTORY sta per il nome della cartella dove hai scompattato il programma.
es io ho messo il tutto nelle cartella C:\MLB, quindi nel prompt digito C:\MLB\> getcondensed.bat 20090623
oppure meglio ancora appena apri il prompt digita cd \MLB e invio
poi nel prompt seguente digita getcondensed 20090623 e invio
Se vuoi fermare il processo fai ctrl+c e poi s
User avatar
antoniocoscia93
Senior
Senior
Posts: 2766
Joined: 22/04/2008, 15:21
Location: antenna di casa vostra

Re: MLB: Come scaricare i Condensed Games automaticamente e gratis!!! [SOLVED]

Post by antoniocoscia93 »

antoniocoscia93 wrote: Per windows qualcuno ha provato fiddler??? :penso: http://www.fiddlertool.com/
appena provato e funziona :forza:
Image
MILANO1946_ultrà
Senior
Senior
Posts: 1157
Joined: 28/01/2008, 19:59
Contact:

Re: MLB: Come scaricare i Condensed Games automaticamente e gratis!!! [SOLVED]

Post by MILANO1946_ultrà »

L'altro metodo ora funzia anche a me.

Vorrei una info. Esiste un modo per non scaricarsi l'intera "libreria" e invece scaricarsi solo la partita o le partite che interessano?
User avatar
kyuxx
Rookie
Rookie
Posts: 287
Joined: 29/05/2006, 14:27
Location: Schio

Re: MLB: Come scaricare i Condensed Games automaticamente e gratis!!! [SOLVED]

Post by kyuxx »

antoniocoscia93 wrote: appena provato e funziona :forza:
Image
Cosa sei riuscito a fare con fiddler?  :penso:
Locked