[o.0]
Lt. Commander
- Registriert
- Apr. 2008
- Beiträge
- 1.056
Hallo,
hab auch mal wieder ein Problem
Ich bin grade dabei mir eine kleine Erleichterung zu basteln, damit sich meine Liste, welche Filme der IMDB Top 250 ich noch sehen muss/schon gesehen habe automatisch aktualisiert.
Das ganze soll (irgendwann & ungefähr) folgender Maßen ablaufen:
Ich hole mir die komplette IMDB Top 250 Seite, hole mit Regular Expressions die Daten der Filme (Platzierung, Wertung, Link, Titel, Erscheinungsjahr und abgegebene Stimmen) und speicher sie in eine Datenbank. Als Frontend soll eine einfache HTML Seite dienen, auf der man mit Checkboxen auswählen kann was man schon gesehen hat - alles neu angekreuzte wird in die Datenbank als gesehen markiert und der Titel des Films durchgestrichen.
Das ganze soll dann einmal am Tag per Cronjob aktualisiert werden.
Leider habe ich jetzt schon ganz am Anfang ein kleines Problem: Wie kriege ich aus diesen mit preg_match_all geholten $matches die Daten raus?
Ich habe vorher noch nie was mit Regular Expressions gemacht und find es schonmal toll das ich zumindest diesen pattern (wie man das wohl nennt) hingekriegt habe.. und jetzt hakt es an sowas
Das ist der dafür relevante Codeabschnitt den ich bis jetzt habe:
Um die IMDB Server nicht ständig mit meinen Anfragen zu stressen und die Ladezeiten zu verkürzen nehme ich anstatt der IMDB Seite nur diese paar Zeilen als Testobjekt:
Als Ausgabe kommt dann sowas:
Sieht ja schonmal ganz gut aus, das unter "[0] => Array" kann ich zwar vergessen, aber der Rest ist genau das was ich will. Ich komm irgendwie nur nicht dran.. oder ich steh total auf dem Schlauch.
Ein weiteres Problem wäre, das das auch nur mit der filme.txt funktioniert, wenn ich die "richtige" Seite nehme, klappt gar nichts. Wisst ihr woran das liegt? Ich vermute das hat etwas mit der fehlenden Formatierung von deren HTML Code zu tun. Wäre also auch da für einen Verbesserungsvorschlag wie es trotzdem geht dankbar.. bin wie gesagt ein absoluter Reg Ex Anfänger
Wäre klasse wenn mir jemand helfen würde, danke schonmal =]
hab auch mal wieder ein Problem
Ich bin grade dabei mir eine kleine Erleichterung zu basteln, damit sich meine Liste, welche Filme der IMDB Top 250 ich noch sehen muss/schon gesehen habe automatisch aktualisiert.
Das ganze soll (irgendwann & ungefähr) folgender Maßen ablaufen:
Ich hole mir die komplette IMDB Top 250 Seite, hole mit Regular Expressions die Daten der Filme (Platzierung, Wertung, Link, Titel, Erscheinungsjahr und abgegebene Stimmen) und speicher sie in eine Datenbank. Als Frontend soll eine einfache HTML Seite dienen, auf der man mit Checkboxen auswählen kann was man schon gesehen hat - alles neu angekreuzte wird in die Datenbank als gesehen markiert und der Titel des Films durchgestrichen.
Das ganze soll dann einmal am Tag per Cronjob aktualisiert werden.
Leider habe ich jetzt schon ganz am Anfang ein kleines Problem: Wie kriege ich aus diesen mit preg_match_all geholten $matches die Daten raus?
Ich habe vorher noch nie was mit Regular Expressions gemacht und find es schonmal toll das ich zumindest diesen pattern (wie man das wohl nennt) hingekriegt habe.. und jetzt hakt es an sowas
Das ist der dafür relevante Codeabschnitt den ich bis jetzt habe:
PHP:
$txt = file_get_contents('filme.txt');
preg_match_all ('%<b>([0-9]{1,3}).</b></font></td><td align="center">
<font face="Verdana, Arial, sans-serif" size="-1">([0-9,]{3,3})</font>
</td><td><font face="Verdana, Arial, sans-serif" size="-1">
<a href="http://www.imdb.de/title/tt([0-9]{7,7})/">(.*?)</a>
(.*?)</font></td><td align="right">
<font face="Verdana, Arial, sans-serif" size="-1">(.*?)
</font>%is', $txt, $matches);
//print_r($matches);
Um die IMDB Server nicht ständig mit meinen Anfragen zu stressen und die Ladezeiten zu verkürzen nehme ich anstatt der IMDB Seite nur diese paar Zeilen als Testobjekt:
Code:
(Auf Misters Snoots Wunsch im Anhang =P)
Als Ausgabe kommt dann sowas:
Code:
Array
(
[0] => Array
(
// unwichtig, entfernt
)
[1] => Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
[2] => Array
(
[0] => 9,1
[1] => 9,1
[2] => 9,0
[3] => 8,9
[4] => 8,9
)
[3] => Array
(
[0] => 0111161
[1] => 0068646
[2] => 0071562
[3] => 0060196
[4] => 0110912
)
[4] => Array
(
[0] => Die Verurteilten
[1] => Der Pate
[2] => Der Pate 2
[3] => Zwei glorreiche Halunken
[4] => Pulp Fiction
)
[5] => Array
(
[0] => (1994)
[1] => (1972)
[2] => (1974)
[3] => (1966)
[4] => (1994)
)
[6] => Array
(
[0] => 430.259
[1] => 355.653
[2] => 207.160
[3] => 127.629
[4] => 352.772
)
)
Sieht ja schonmal ganz gut aus, das unter "[0] => Array" kann ich zwar vergessen, aber der Rest ist genau das was ich will. Ich komm irgendwie nur nicht dran.. oder ich steh total auf dem Schlauch.
Ein weiteres Problem wäre, das das auch nur mit der filme.txt funktioniert, wenn ich die "richtige" Seite nehme, klappt gar nichts. Wisst ihr woran das liegt? Ich vermute das hat etwas mit der fehlenden Formatierung von deren HTML Code zu tun. Wäre also auch da für einen Verbesserungsvorschlag wie es trotzdem geht dankbar.. bin wie gesagt ein absoluter Reg Ex Anfänger
Wäre klasse wenn mir jemand helfen würde, danke schonmal =]
Anhänge
Zuletzt bearbeitet: