Scaricare da youtube

« Older   Newer »
  Share  
Aaly
CAT_IMG Posted on 30/5/2010, 14:05     +1   -1




Questo semplice programma consente di scaricare i video da youtube trovando l'id.
L'interfaccia è molto semplice e si divide in 3 parti,
ho creato una gui per i download singoli, e una per più download, dove vengono scaricati in sequenza.

YouTube.au3
SPOILER (click to view)
CODICE
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=Doawnload.ico
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Res_Comment=~ YouTube Res
#AutoIt3Wrapper_Res_Description=~ YouTube Res
#AutoIt3Wrapper_Res_Fileversion=0.0.0.1
#AutoIt3Wrapper_Res_LegalCopyright=Aaly©
#AutoIt3Wrapper_Res_Language=1040
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****


; -->
       Global Const $INI = @ScriptDir & "\YT.ini"
; -->

If ProcessExists("YTRes.exe") Then ProcessClose("YTRes.exe")

;Scarica le icone
InetGet("http://www.aaly.altervista.org/youtube.ico",@TempDir & "\youtube.ico")
InetGet("http://www.aaly.altervista.org/ch.ico",@TempDir & "\ch.ico")

If Not FileExists($INI) Then IniWrite($INI,"START","Mode","Single")
IniWrite($INI,"DefaultDir","Url",@ScriptDir)
Sleep(1000)

If IniRead($INI,"START","Mode","Single") = "Single" Then
       FileDelete(@ScriptDir & "\YTRes.exe")
       FileInstall("__SingleD.exe",@ScriptDir & "\YTRes.exe")
       Sleep(1000)
       FileSetAttrib(@ScriptDir & "\YTRes.exe","h")
       ShellExecute(@ScriptDir & "\YTRes.exe")
       Exit
Else
       FileDelete(@ScriptDir & "\YTRes.exe")
       FileInstall("__MultiD.exe",@ScriptDir & "\YTRes.exe")
       FileSetAttrib(@ScriptDir & "\YTRes.exe","h")
       ShellExecute(@ScriptDir & "\YTRes.exe")
       Exit
EndIf


_YT_Lib.au3
SPOILER (click to view)
CODICE
#cs ----------------------------------------------------------------------------

AutoIt Version: 3.3.6.1
Autore:         Aaly

#ce ----------------------------------------------------------------------------


; -->
       Global Const $INI = @ScriptDir & "\YT.ini"
; -->


; --------------------------------------------------------------------------------------------------------------------+
;    __YTini_Set  --> Imposta la schermata come l'ultimo avvio                                                                                                                ;|
; --------------------------------------------------------------------------------------------------------------------+
Func __YTini_Set()
               If FileExists($INI) Then
                       $x = IniRead($INI,"POSIZIONE","X",192)
                       $y = IniRead($INI,"POSIZIONE","Y",124)
                               WinMove("YouTube Resourcer       ~ by Aaly", "", $x, $y)
                       GUICtrlSetData($url, IniRead($INI,"URL","Ultimo url",""))
                       If IniRead($INI,"DOWNLOAD","Size","") = "Byte"  Then GUICtrlSetState($Radio1,$GUI_CHECKED)
                       If IniRead($INI,"DOWNLOAD","Size","") = "KByte" Then GUICtrlSetState($Radio2,$GUI_CHECKED)
                       If IniRead($INI,"DOWNLOAD","Size","") = "MByte" Then GUICtrlSetState($Radio3,$GUI_CHECKED)
               EndIf
       Return
EndFunc

; --------------------------------------------------------------------------------------------------------------------+
;    __YTini_Save  --> Salva la schermata alla chiusura                                                                                                                                ;|
; --------------------------------------------------------------------------------------------------------------------+
Func __YTini_Save()
       $wingetpos = WinGetPos("YouTube Resourcer       ~ by Aaly")

               IniWrite($INI,"URL","Ultimo url",GUICtrlRead($url))
               IniWrite($INI,"POSIZIONE","X",$wingetpos[0])
               IniWrite($INI,"POSIZIONE","Y",$wingetpos[1])
                       If GUICtrlRead($Radio1) = 1 Then IniWrite($INI,"DOWNLOAD","Size","Byte")
                       If GUICtrlRead($Radio2) = 1 Then IniWrite($INI,"DOWNLOAD","Size","KByte")
                       If GUICtrlRead($Radio3) = 1 Then IniWrite($INI,"DOWNLOAD","Size","MByte")
       Return
EndFunc

; --------------------------------------------------------------------------------------------------------------------+
;    __ByteShow  --> Imposta la visualizzazione dello stato del download                                                                                        ;|
; --------------------------------------------------------------------------------------------------------------------+
Func __ByteShow($to)
       If $to = "b"  Then
               $byte  = True
               $kbyte = False
               $mbyte = False

       ElseIf $to = "kb" Then
               $byte  = False
               $kbyte = True
               $mbyte = False

       ElseIf $to = "mb" Then
               $byte  = False
               $kbyte = False
               $mbyte = True
       EndIf
EndFunc

; --------------------------------------------------------------------------------------------------------------------+
;     __Set_Mode --> Imposta la modalità di accesso                                                                                                       ;|
; 1 -> Single                                                                                                                                                                                                                 ;|
; 2 -> Multi                                                                                                                                                                                                                   ;|
; --------------------------------------------------------------------------------------------------------------------+
Func __Set_Mode($type)
       If $type = 1 Then ;Single
               IniWrite($INI,"START","Mode","Single")
               ShellExecute(@ScriptDir & "\YouTube.exe")
       ElseIf $type = 2 Then ;Multi
               IniWrite($INI,"START","Mode","Multi")
               ShellExecute(@ScriptDir & "\YouTube.exe")
       EndIf
EndFunc

; --------------------------------------------------------------------------------------------------------------------+
;    __YT_Download --> Scarica il video da YouTube                                                                                                       ;|
; --------------------------------------------------------------------------------------------------------------------+
Func __YT_Download($sito, $nm)
GUICtrlSetData($info, "Connessione in corso..")
       Sleep(1000)
GUICtrlSetData($info, "Connesso!")

$size = InetGetSize($sito)
$dwnl = InetGet($sito, $nm, 1, 1)

If $download = True Then
       While Not InetGetInfo($dwnl,2)
               ;Aggiorna solo se il valore cambia
               $l = InetGetInfo($dwnl,0)
                       If $l <> InetGetInfo($dwnl,0) Then
               ; ------------------------------->
                               ; Manda i dati nella progress / label
                               GUICtrlSetData($Progress1,InetGetInfo($dwnl,0 )/$size*100)
                                       If $byte = True Then
                                               GUICtrlSetData($info,InetGetInfo($dwnl,0 ) & " / " & $size & "  ~ Byte")
                                       ElseIf $kbyte = True Then
                                               GUICtrlSetData($info, Round((InetGetInfo($dwnl,0)/1024*100000)/100000, 2) & " / " & Round(($size/1024*100000)/100000, 2)& "  ~ Kb")
                                       ElseIf $mbyte = True Then
                                               GUICtrlSetData($info, Round((InetGetInfo($dwnl,0)/1048576*100000)/100000, 2) & " / " & Round(($size/1048576*100000)/100000, 2) & "  ~ Mb")
                                       EndIf
                               ; ----------------------------------->
               ; ------------------------------->
               $a = GUIGetMsg()
                       If $a = $Button2 Then
                               $interrupt = True
                               ExitLoop
                       EndIf
               EndIf
       WEnd
EndIf

;Controlla se è stato interrotto
               If $interrupt = False Then
                       GUICtrlSetData($Progress1,0)
                       GUICtrlSetData($info,"Download completato con successo.")
                               Sleep(2000)
                       GUICtrlSetData($info," ~ ")
               ElseIf $interrupt = True Then
                       GUICtrlSetData($Progress1,0)
                       GUICtrlSetData($info,"Download interrotto.")
                               Sleep(2000)
                       GUICtrlSetData($info,"")
                               $interrupt = False
               EndIf
                       GUICtrlSetState($Button1,64)
                       GUICtrlSetState($Button2,128)
       Return
EndFunc

; --------------------------------------------------------------------------------------------------------------------+
;    __Crediti  --> Mostra i crediti                                                                                                                                       ;|
; --------------------------------------------------------------------------------------------------------------------+
Func __Crediti()
       Dim $Credits1[35] = ["Y","o","u","T","u","b","e"," ","R","e","s","."," "," ","~"," ","C","r","e","a","t","e","d"," ","B","y"," ","A","a","l","y"]
       Dim $Credits2[22] = ["T","h","a","n","k","s"," ","f","o","r"," ","u","s","e"," ",";)"]
       GUICtrlSetData($info,"")
       For $i = 0 To 30 Step 1
               GUICtrlSetData($info,GUICtrlRead($info) & $Credits1[$i])
               Sleep(120)
       Next

       Sleep(2000)
       GUICtrlSetData($info,"")

       For $i = 0 To 21 Step 1
               GUICtrlSetData($info,GUICtrlRead($info) & $Credits2[$i])
               Sleep(120)
       Next

       Sleep(2000)
       GUICtrlSetData($info,"")
EndFunc



__MultiD.exe (764.5 KB)
__SingleD.exe (538.39 KB)
YouTube.exe (1.22 MB)

Pacchetto script

__MultiD e __SingleD sono i programmi che sono inclusi in youtube.exe, come si nota dal source
avviando youtube.exe si imposta la modalità d'avvio.
La speed è bugga, non viene segnata, avevo provato con una libreria trovata nella sezione udf ma non
la calcolava esatta ugualmente, quindi in attesa di fix lascio così.

Edited by Aaly - 30/5/2010, 16:04
 
Top
Lahace
CAT_IMG Posted on 30/5/2010, 16:31     +1   -1




cerca di comprimere gli exe va xD
troppa roba
 
Top
Aaly
CAT_IMG Posted on 30/5/2010, 20:05     +1   -1




lahace fai commenti inutili ù.ù
 
Top
Gianlu-thebest
CAT_IMG Posted on 30/5/2010, 20:43     +1   -1




carino
 
Top
qwerty2
CAT_IMG Posted on 7/6/2010, 17:39     +1   -1




bello ma non ho capito come fa a scaricare
 
Top
Aaly
CAT_IMG Posted on 8/6/2010, 16:17     +1   -1




Trasforma la stringa del video di youtube in modo da andare a prendere il video con inetget..
anche se non è proprio ordinatissima la funziona
 
Top
qwerty2
CAT_IMG Posted on 8/6/2010, 18:28     +1   -1




me la puoi spiegare perchè non la capisco ma mi interessa molto
 
Top
Lahace
CAT_IMG Posted on 9/6/2010, 16:10     +1   -1




praticamente prende il source della pagina del video e prende la stringa del parametro T= cosi poi compone la stringa cosi:
www.youtube.it?get_video=idvideo&t=????
 
Top
qwerty2
CAT_IMG Posted on 9/6/2010, 16:12     +1   -1




grazie 1000 ma come hai scoperto la stringa per scaricare i video?
 
Top
Lahace
CAT_IMG Posted on 9/6/2010, 16:23     +1   -1




www.google.it :D (btw aaly è qua a casa mia)
 
Top
9 replies since 30/5/2010, 14:05   251 views
  Share