Wie wohl die meisten von euch mitbekommen haben, bieten derzeit sehr viele User hier sogenannte Youtube Services an, bei denen man Abos, Likes, Dislikes etc. kaufen kann.
Doch wer wirklich Erfolg haben will, braucht natürlich viele Abonnenten und Likes, was per Hand Tage dauern würde.
Deshalb werden hier in letzter Zeit immer mehr Youtube Bots verkauft.
Was, wie ich finde, ein ziemliche Abzocke ist, da das meist nur sehr schlechte Bots sind, die lediglich den Internet Explorer versteckt aufruft und dort die entsprechenden Aktionen durchführen.
Somit habe ich mir gedacht ich release mal ein paar Grundfunktionen, um in Autoit zu liken, disliken, abonnieren etc.
Also fangen wir mal an.
Zuerst müssen wir uns natürlich bei Youtube einloggen.
Das realisieren wir durch diesen Code:
Code:
func YouLogin($user, $pw) $ie = _IECreate("https://www.google.com/accounts/ServiceLogin?uilel=3&service=youtube&passive=true&continue=http%3A%2F%2Fm.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26warned%3D1%26nomobiletemp%3D1%26hl%3Dde_DE%26next%3D%252F&hl=de_DE<mpl=mobile", 0,1,1) $oUsername = _IEGetObjById($ie, "Email") $oPasswd = _IEGetObjById($ie, "Passwd") $oSignIn = _IEGetObjById($ie, "signIn") _IEFormElementSetValue($oUsername, $user) sleep(300) _IEFormElementSetValue($oPasswd, $pw) _IEAction($oSignIn, "click") _IELoadWait($ie) endfunc
So, jetzt sind wir schonmal eingeloggt.
Um jetzt z.B. ein Video zu liken, benötigt man folgenden Code:
Code:
func like($url) _IENavigate($ie, $url,1) $like=_IEGetObjByid($ie, "watch-like") _IEAction($like, "click") _IELoadWait($ie) sleep(1000) EndFunc
Die normale Video URL sieht in etwa so aus: "http://www.youtube.com/watch?v=XXXXXXXX"
(Über die Mobile Version ist das liken leider sehr unzuverlässig und viele Likes werden nicht gewertet, deshalb mache ich das über die normale Youtube Seite)
Um jetzt aber ein Video zu disliken, muss man den oberen Code nur minimal verändern. Man ersetzt einfach das "watch-like" durch "watch-unlike".
Demnach würde es wie folgt aussehen:
Code:
func dislike($url) _IENavigate($ie, $url,1) $like=_IEGetObjByid($ie, "watch-unlike") _IEAction($like, "click") _IELoadWait($ie) sleep(1000) EndFunc
Was den meisten Leuten hier wohl am wichtigsten ist, sind die Abonnenten.
Dazu kommen wir jetzt.
Zum abonnieren habe ich 2 Funktionen. Eine, wo man die VideoID übergibt und eine, wo man den Youtube-Usernamen übergibt.
Beginnen wir mal mit der VideoID.
Die VideoID ist die Zeichenkette, die in einem Videolink nach dem "watch?v=" steht.
Im Beispiel "http://www.youtube.com/watch?v=XYZXYZ" wäre es also "XYZXYZ".
Kommen wir nun zu der Funktion:
Code:
func AboV($url) _IENavigate($ie, "http://m.youtube.com/watch?gl=DE&hl=de_DE&client=mv-google&v="&$url,1) _IELinkClickByIndex($ie,1) _IELoadWait($ie) $abo=_IEGetObjByName($ie,"submit",1) _IEAction($abo, "click") _IELoadWait($ie) EndFunc
Es wird also die VideoID an die Funktion AboV übergeben und anschließend der Benutzer, der das Video hochgeladen hat, abonniert.
Einfacher geht das natürlich, wenn man den Youtube Usernamen schon hat.
Wenn dies der Fall ist, kann man es etwas schneller mit dieser Funktion realisieren:
Code:
func AboUser($user) _IENavigate($ie, "http://m.youtube.com/profile?gl=DE&hl=de_DE&client=mv-google&user="&$user) $abo=_IEGetObjByName($ie,"submit",1) _IEAction($abo, "click") _IELoadWait($ie) EndFunc
Hier wird also einfach der Username des zu abonnierenden Nutzers an die Funktion AboUser übergeben.
Zu guter letzt möchte ich euch noch zeigen, wie man einem Video ein Kommentar hinzufügt.
Das ist eigentlich auch gar nicht so schwer.
Dafür wird folgender Code benötigt:
Code:
func comment($url, $comment) _IENavigate($ie, "http://m.youtube.com/post_comment?gl=DE&hl=de&client=mv-google&v="&$url,1) $posten=_IEGetObjByname($ie, "action_comment") $form=_IEFormGetObjByName($ie, "commentForm") $box=_IEFormElementGetObjByName($form, "comment") _IEFormElementSetValue($box, $comment) _IEAction($posten, "click") _IELoadWait($ie) EndFunc
Diesmal benötigen wir wieder die VideoID.
An die Funktion comment wird nun einfach die VideoID und das entsprechende Kommentar übergeben und schon haben wir erfolgreich einen Kommentar geschrieben.
Zum Ende müssen wir uns natürlich auch wieder ausloggen.
Das machen wir durch folgenden Code:
Code:
func logout() _IELinkClickByText($ie, "Abmelden") _IELoadWait($ie) sleep(1000) EndFunc
Die Funktion wird einfach ohne alle Parameter aufgerufen.
Damit das nun nicht alles zu trocken ist, hier ein kleines Beispiel:
Code:
#include <IE.au3> $username="testuser" $passwort="testpasswort" $videoURL="http://www.youtube.com/watch?v=XYZABC" $videoID="XYZABC" $aboUser="youtube" YouLogin($username,$passwort) like($videoURL) ODER dislike($videoURL) AboV($videoID) ODER AboUser($aboUser) comment($videoID, "Super Video!") logout()
Ich hoffe ich konnte euch ein wenig damit helfen.
Es sind nicht die besten und schnellsten Methoden, aber zum Lernen ideal.
MfG bassbanane