bot zum auslesen von myspacekomentaren

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
metty84
Mitglied
Beiträge: 159
Registriert: 08.03.2007 13:13
Wohnort: Marienberg
Kontaktdaten:

bot zum auslesen von myspacekomentaren

Beitrag von metty84 »

hallo liebe phpbbgemeinde, ich bräuchte mal ne kleine unterstützung, da ich mit der materie "bots" nicht wirklich vertraut bin.
folgendes habe ich vor:

auf der myspaceseite meiner band fbod herscht ein reges treiben und wir wollen das dies auch einzug in das gästebuch unserer webseite fbod.de einzug hält. deshalb dachte ich mir, bastel ich nen kleines script was die komentare auf unserer myspaceseite ausliest und in unser gästebuch kopiert.

das script soll den namen, den link zum myspaceprofil des posters, das datum und natürlich den geschriebenen text auslesen und irgendwie in ein array packen nur ich hab momentan grade keine richtige idee wie da ich mich mit soetwas noch nie beschäftigt habe.

ich hab mal einen ausschnit aus dem html queltext unserer myspaceseite kopiert damit ihr seht wie das aufgebaut ist:
http://www.fbod.de/code.txt

also der name und der profillink sieht immer so aus

Code: Alles auswählen

<a href="http://profile.myspace.com/index.cfm?fuseaction=user.viewprofile&friendid=MYSPACE_USER_ID"> 

                                        MYSPACE_NAME
                                    </a> 
das datum ist imer so aufgebaut

Code: Alles auswählen

<span class="blacktext10"> 
                                        DATUM
                                    </span> 
und der kommentar imer so

Code: Alles auswählen

                                 <br> 
                                    <br> 
                                    KOMMENTAR
                                </td> 
ich hoffe ihr könnt mir helfen.

mfg metty
Zuletzt geändert von metty84 am 10.05.2008 01:55, insgesamt 1-mal geändert.
Nichts auf der welt ist so gerecht verteilt wie der Verstand.Denn jederman ist überzeugt das er genug davon habe.
Xwitz
Mitglied
Beiträge: 1104
Registriert: 21.06.2005 21:41

Beitrag von Xwitz »

Frage: Wie Du die Seite einließt weißt Du schon? Als String?

Den Text zu zerpflücken geht mit strpos() und substr() oder mit preg_match() bzw. preg_match_all().
Beispiel:

Code: Alles auswählen

$i = 0
$array = array();
$start = true;
$laenge = 0;
while ($start !== false) {
  $start = strpos($text, 'href="http://comment.myspace.com/index.cfm?fuseaction=user.viewProfile_commentFo', $start);
  $laenge = strpos($text, '</a>', $start) - $start;
  $array[$i]['link'] = substr($text, $start, $laenge);
  $start = strpos($text, '<span class="blacktext10">', $start);
  $laenge = strpos($text, '</span>', $start) - $start;
  $array[$i]['Datum'] = substr($text, $start, $laenge);
  ...
  $i++;
}
So in etwa, Du muß es noch erweitern, anpassen z.B. mit einem trim() hier und da, mögliche Fehler (z.B. Fehler die durch spätere Änderungen im html auftreten) abfangen. Die Quellcodefetzen müssen natürlich über Inhalt und relativ zur Startposition der Suche eindeutig sein.
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17476
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Du hast zuviel Code gepostet, was das Thema unnötig in die Länge zieht und unübersichtlich macht.
Es wäre besser die Datei bzw. den Code als .txt Datei abzuspeichern und dann hier einen Link zu posten - siehe auch KB:datei .

Bitte passe deinen Beitrag an, lies Dir den phpBB.de-Knigge und den Hinweis zur Fragestellung und Rechtschreibung durch und beachte diese zukünftig.
Benutzeravatar
metty84
Mitglied
Beiträge: 159
Registriert: 08.03.2007 13:13
Wohnort: Marienberg
Kontaktdaten:

Beitrag von metty84 »

schonmal vielen dank das hat mir schonma gut weitergeholfen! köntest du noch posten wie ich den queltext als string laden kann? es ist nur eine seite die geladen wird da man für weitere seiten sich einloggen müste was bei nem bot schwierig wird und nicht sein muss da wir selten mer als 50 komentare am tag haben und ich das script dan via cronjob täglich ausführen würde.

ich müste den queltext von http://www.myspace.com/fanaticbacillusofdestiny laden.

soweit denke ich das ich da durchsehe und werde es in den nächsten tagen mal testen

ich hab mir grade noch was zusamengebastelt womit ich den htmlcode inerhalb des kommentars in bbcode umwandeln kann ich sag euch das war vileicht ne krampf :)

den queltext hab ich auch als txt angehangen und für die rechtschreibung kann ich nix! :)

mfg metty
Nichts auf der welt ist so gerecht verteilt wie der Verstand.Denn jederman ist überzeugt das er genug davon habe.
Xwitz
Mitglied
Beiträge: 1104
Registriert: 21.06.2005 21:41

Beitrag von Xwitz »

metty84 hat geschrieben:köntest du noch posten wie ich den queltext als string laden kann? es ist nur eine seite die geladen wird da man für weitere seiten sich einloggen müste was bei nem bot schwierig wird und nicht sein muss da wir selten mer als 50 komentare am tag haben und ich das script dan via cronjob täglich ausführen würde.
Wenn Du es über cronjob machst, ist es recht einfach, weil es niemanden beim Seitenaufbau stört wenn es beim einlesen zu einem timeout kommt.

Ob es funktioniert, hängt von der Serverconfiguration ab, probiere es einfach mal aus:

Code: Alles auswählen

$quelltext = file_get_contents("http://www.myspace.com/fanaticbacillusofdestiny");
http://de.php.net/manual/de/function.fi ... ntents.php

PS: Wegen möglicher timeouts: Du kannst bei erfolgreicher Abfrage z.B. den timestamp speichern und den cronjob mehrmals mit etwas Abstand ausführen. So kann man die Abfrage wiederholen, wenn die letzte fehlgeschlagen ist.
Antworten

Zurück zu „Coding & Technik“