[..] Récupération d'information de Youtube

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
MeGaTrOn
Niveau 3
Niveau 3
Messages : 37
Enregistré le : mar. 22 nov. 2011 23:03
Status : Hors ligne

[..] Récupération d'information de Youtube

#1

Message par MeGaTrOn »

Salut,
j'ai encore besoin de votre grande expérience :D car j'aimerez créer un logiciel pour vérifier si il y a de nouvelles vidéos sur Youtube.
En fait le script regarderais les 15 dernières vidéos et les notes dans une Liste et que je récupère celui qui a poster la vidéo dans une autre.
Je voudrais pas un script tout fait mais un exemple sur comment récupérer les infos car je voudrais le faire moi même.

Cordialement, MeGaTrOn.
alex1205
Niveau 5
Niveau 5
Messages : 123
Enregistré le : dim. 07 mars 2010 13:59
Status : Hors ligne

Re: [...] Récupération d'information de Youtube

#2

Message par alex1205 »

Salut

en fait t'a un problème où ? pour prendre le code source, tu peux utiliser _InetGetSource ou utiliser l'objet wininet et faire une requete Get. Après tu parse le code html, et tu trouve les résultats. tu veux que je te fasse un code qui fasse un exemple ?
Le "je ne sais pas" et "j'y arrive pas" n'existe dans mon vocabulaire. Toutes Questions ont une réponse, cherchez et vous la trouverai. Utilisez Recherche du forum et vous verrez. Si [blink]Aucune[/blink] question ne tient à votre problème, créez un sujet.
MeGaTrOn
Niveau 3
Niveau 3
Messages : 37
Enregistré le : mar. 22 nov. 2011 23:03
Status : Hors ligne

Re: [...] Récupération d'information de Youtube

#3

Message par MeGaTrOn »

Oui ce serais gentil :roll:
alex1205
Niveau 5
Niveau 5
Messages : 123
Enregistré le : dim. 07 mars 2010 13:59
Status : Hors ligne

Re: [...] Récupération d'information de Youtube

#4

Message par alex1205 »

Voilà un code vite fait :

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
Global $__g_URLDefault = "http://www.youtube.com/user/MaitreGimsVEVO", $__g_sFile = @ScriptDir & "\youtube_cache", $__g_sYoutubechannel = ""
Global $__g_sResult = ""
#region ### START Koda GUI section ### Form=
;///// GUI /////
$h_Form = GUICreate("", 205, 62, 192, 124)
GUISetOnEvent($GUI_EVENT_CLOSE, "h_FormClose")
$L_label = GUICtrlCreateLabel("Chaîne YouTube à surveiller :", 8, 8, 145, 17)
; Exemple chaîne Maitre Gims : http://www.youtube.com/user/MaitreGimsVEVO
$I_youtubechannel = GUICtrlCreateInput($__g_URLDefault, 8, 32, 145, 21)
$Button1 = GUICtrlCreateButton("Go", 160, 8, 41, 41)
GUICtrlSetOnEvent(-1, "Button1Click")
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###
;\\\\\ GUI \\\\\

While 1
    Sleep(100)
WEnd

Func Button1Click()
    $__g_sYoutubechannel = GUICtrlRead($I_youtubechannel)
    $__g_sResult = __getHTMLSource($__g_sYoutubechannel)
    FileWrite($__g_sFile, $__g_sResult)
    Sleep(1000)
    AdlibRegister("__YT_check", 60 * 1000)
    GuiSetState(@SW_Hide)
EndFunc   ;==>Button1Click

Func h_FormClose()
    Exit
EndFunc   ;==>h_FormClose

Func __getHTMLSource($sURL)
    $__f_oWinHTTP = ObjCreate("winhttp.winhttprequest.5.1")
    $__f_oWinHTTP.Open("GET", $sURL)
    $__f_oWinHTTP.Send()
    Return $__f_oWinHTTP.Responsetext
EndFunc   ;==>__getHTMLSource

Func __YT_check()
    $__f_sFile = FileRead($__g_sFile)
    $__f_sResult = __getHTMLSource($__g_sYoutubechannel)
    If $__f_sFile <> $__f_sResult Then
        TrayTip("YouTube Detector", "Youtube Detector a détecté une modification de page", 2000)
        FileDelete($__g_sFile)
        FileWrite($__g_sFile, $__f_sResult)
    EndIf
EndFunc   ;==>__YT_check
En fait ça surveille une chaîne youtube (en exemple la chaine de maitre gims) et ca fait une notification si la page a été modifié (donc ajout de vidéo). C'est une bêta mais ca marche.
Le "je ne sais pas" et "j'y arrive pas" n'existe dans mon vocabulaire. Toutes Questions ont une réponse, cherchez et vous la trouverai. Utilisez Recherche du forum et vous verrez. Si [blink]Aucune[/blink] question ne tient à votre problème, créez un sujet.
MeGaTrOn
Niveau 3
Niveau 3
Messages : 37
Enregistré le : mar. 22 nov. 2011 23:03
Status : Hors ligne

Re: [..] Récupération d'information de Youtube

#5

Message par MeGaTrOn »

J'ai essayer d'adapter ton script pour plusieurs page mais j'ai un problème c'est qu'il me détecte tout le temps des vidéos
Le script :
► Afficher le texte
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Récupération d'information de Youtube

#6

Message par mikell »

Un script qui se base juste sur une différence de contenu de la page lue avec un InetRead ou autre ne peut pas marcher avec Youtube
1 vue de plus sur une des videos, une modif dans l'affichage aléatoire des pubs ou recommandations, un changement d'id de session etc... et c'est mort ^^
Pour que ça puisse marcher tu n'y couperas pas : faut parser le contenu au regexp, faire des arrays ciblées et faire des comparaisons
Par contre si les structures sont les mêmes tu peux faire des fonctions communes
Exemple :
► Afficher le texte
La video la plus récente est dans la 1ère ligne de l'array

Mais pour juste la dernière video tu peux aussi faire comme ça
► Afficher le texte
Quelle que soit la méthode, les regex sont incontournables ^^

EDIT
Pardon, c'est contournable avec l'udf _StringBetween (pour faire plaisir à Tlem)
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre