Die Programmierung
Das Projekt besteht im wesentlichen aus 3 Teilen:
Hoebot: Der eigentliche Crawler, allerdings mit coolen sonderfunktionen
Profiler: Auswertung der gespeicherten Profile
Lovebot: Bringt aufgrund dieser Daten die "Solo"-Studis zusammen
Gescriptet wurde der Crawler mit PHP. Leider können wir den Quelltext zum Schutz des StudiVZ nicht veröffentlichen.
(@dante: Ja, dieses Programm ist modifiziert sozusagen auf jede Online-Community anwendbar)
Der Aufbau
Über den PHP-Befehl "fsockopen" nimmt der Crawler Verbindung mit dem Studivz auf und meldet sich über svz/login.php mit den vorbereiteten Cookies und Headern an. Der Server ist nun nicht mehr in der Lage den Bot von "normalen" Usern unterscheiden.
Eine manuell gespeicherte Profilseite wird von Hoebot ausgelesen und alle gefundenen Profil-Links
(Freunde) in einer Text-Datei gespeichert. Diese Profile besucht er nun, speichert wieder alle gefundenen Profil-Links ab und speichert das gesamte Profil als HTML-Datei. Während dessen werden die Pinnwand- und Gruschel-Funktionen aufgerufen.
Die Auswertung der Daten übernimmt der "Profiler".
Er geht die HTML-Dateien durch und überträgt die Daten in unsere Datenbank (einfache Text-Datei mit Arrays)
Captchas
Dies ist eine Sicherheitsvorkehrung, die das Crawlen verhindern soll. Eine Funktion prüft ob es sich um eine
Captcha-Seite handelt und stoppt gegebenfalls den Crawler, damit wir das
Captcha bequem über unser Interface abtippen können - weiter gehts. Es gibt im übrigen
Tools, die dieses Problem komplett beseitigen können.
Social Networking-Features
...um in den tristen StudiVZ-Alltag einzugreifen und die Studis ein bisschen zu verunsichern:
Auto-Gruscheln
Einfach http://www.studivz.net/gru.php?ids= mit der richtigen Profil-ID aufrufen, kleines Script um die
"Wollen sie das wirklich tun?"-Abfrage zu bejahen, fertig!
Der "Checkcode" muss übrigens nur in einer Variablen gespeichert und wieder aufgerufen, bzw. mitgeschickt werden. - Safety First! *G
Pinwand-Einträge
Kleiner Aufwand, grosse Wirkung!
Nach dem gleichen Prinzip wie die Gruschel-Funktion, nur über
Ajax.
Dating-Tipps (Love-Bot)
Der bereits erwähnte Profiler durchsucht die gespeicherten HTML Seiten mit Hilfe von
Regulären Ausdrücken nach "Name:", "Beziehungsstatus:" usw. und speichert diese Informationen schön aufbereitet in unserer Datenbank.
Nun gleicht Lovebot das Geschlecht und den Beziehungsstatus ab, ruft die Profile der Turteltäubchen auf
und verweigt sich.
Im Grunde laufen alle Seitenaufrufe über ein und die selbe Funktion, die von anderen Funtionen (z.B. Captcha oder Pinnwand) mit den richtigen Parametern gefüttert wird.
Weitere mögliche Features:
Denkbar sind alle Arten von personalisierter Werbung über die Pinnwand und wahrscheinlich auch über das StudiVZ-Messaging-System.
Alle Informationen, die Studenten von sich preisgeben, können mit Hilfe einer Vergleichsdatenbank (wie bei Amazon.de) für ein "Profiling" genutzt werden:
Interessen
Musikgeschmack
Bücher
Filme
usw.
Und bevor jemand auf die Idee kommt... NEIN - Dieses Projekt hat keinen kommerziellen Hintergrund!