Diese Board wurde aus Spamschutz-Gründen auf minimale Funktionen beschränkt.
Nutze für neue Anfragen/Bug-Reports bitte meine Gitlab-Instanz.
Nutze für neue Anfragen/Bug-Reports bitte meine Gitlab-Instanz.
problem bei imdb suche
Moderator: Lifestyle
-
- Beiträge: 11
- Registriert: Di 9. Jan 2007, 22:47
- Kontaktdaten:
problem bei imdb suche
hi,
habe da ein prob, hab die aktuelle version installiert und wenn ich über imdb en film suche und klick den an, fügt der mir die schauspieler nicht dazu und den Regisseur au nicht
woran liegt dat
habe da ein prob, hab die aktuelle version installiert und wenn ich über imdb en film suche und klick den an, fügt der mir die schauspieler nicht dazu und den Regisseur au nicht
woran liegt dat
- der-domi
- Site Admin
- Beiträge: 673
- Registriert: Di 4. Apr 2006, 19:22
- Kontaktdaten:
Re: problem bei imdb suche
Nicht verzagen, Domi fragen
Viele Grüße
Dominik
Viele Grüße
Dominik
-
- Beiträge: 139
- Registriert: Mi 20. Dez 2006, 15:22
- Kontaktdaten:
-
- Beiträge: 11
- Registriert: Di 9. Jan 2007, 22:47
- Kontaktdaten:
-
- Beiträge: 10
- Registriert: Mi 10. Jan 2007, 10:16
Tachchen,
habe mich dem Problem des Imports der Schauspieler/Regisseure angenommen und die classes.import.php angepasst.
Ob meine Lösung die optimale ist, kann ich nicht sagen. Aber sie funktioniert...
Schönen Tag noch,
Der Nasenmann
habe mich dem Problem des Imports der Schauspieler/Regisseure angenommen und die classes.import.php angepasst.
Ob meine Lösung die optimale ist, kann ich nicht sagen. Aber sie funktioniert...
Code: Alles auswählen
// Regisseure
$search = '<td nowrap><font face="Arial,Helvetica,sans-serif" size="2" class="Normal">Regie:';
$this->buf1 = explode( $search, $this->siteBuf );
$this->buf2 = explode( "</tr>", $this->buf1[1] );
//$search = "<a href='view.php?page=liste&Name=";
$search = "<a href=\"view.php?page=film_detail&fid=".$this->importID."\">";
$this->buf1 = explode( $search, $this->buf2[0] );
$this->buf1[1] = ltrim($this->buf1[1]);
$this->buf1[1] = str_replace("<br>", ";", $this->buf1[1]);
$this->buf2 = explode ( ";</a>", $this->buf1[1]);
$this->buf1 = explode ( ";", $this->buf2[0]);
$this->varToImport['regisseure'] = array();
for ( $i=1; $i<=count($this->buf1); ++$i ) {
$this->varToImport['regisseure'][$i-1] = $this->buf1[$i-1];
}
// Schauspieler
$search = "<td nowrap><font face=\"Arial,Helvetica,sans-serif\" size=\"2\" class=\"Normal\">Darsteller:";
$this->buf1 = explode( $search, $this->siteBuf );
$this->buf2 = explode( "</tr>", $this->buf1[1] );
//$search = "<a href='view.php?page=liste&Name=";
$search = "<a href=\"view.php?page=film_detail&fid=".$this->importID."\">";
$this->buf1 = explode( $search, $this->buf2[0] );
$this->buf1[1] = ltrim($this->buf1[1]);
$this->buf1[1] = str_replace("<br>", ";", $this->buf1[1]);
$this->buf2 = explode ( ";</a>", $this->buf1[1]);
$this->buf1 = explode ( ";", $this->buf2[0]);
$this->varToImport['actors'] = array();
for ( $i=1; $i<=count($this->buf1); ++$i ) {
$this->varToImport['actors'][$i-1] = $this->buf1[$i-1];
}
Der Nasenmann
-
- Beiträge: 10
- Registriert: Mi 10. Jan 2007, 10:16
-
- Beiträge: 10
- Registriert: Mi 10. Jan 2007, 10:16
And again...
Meine NEUE Lösung:
Meine NEUE Lösung:
Code: Alles auswählen
// Regisseure
$search = '<td nowrap><font face="Arial,Helvetica,sans-serif" size="2" class="Normal">Regie:';
$this->buf1 = explode( $search, $this->siteBuf );
$this->buf2 = explode( "</tr>", $this->buf1[1] );
$this->buf2[0] = str_replace("</a>", ";", $this->buf2[0]);
$this->buf2[0] = str_replace(" ", "", $this->buf2[0]);
$this->buf2[0] = strip_tags($this->buf2[0]);
$this->buf1 = explode ( ";", $this->buf2[0]);
$this->varToImport['regisseure'] = array();
for ( $i=1; $i<count($this->buf1); $i++ ) {
$this->varToImport['regisseure'][$i-1] = $this->buf1[$i-1];
}
// Schauspieler
$search = "<td nowrap><font face=\"Arial,Helvetica,sans-serif\" size=\"2\" class=\"Normal\">Darsteller:";
$this->buf1 = explode( $search, $this->siteBuf );
$this->buf2 = explode( "</tr>", $this->buf1[1] );
$this->buf2[0] = str_replace("</a>", ";", $this->buf2[0]);
$this->buf2[0] = str_replace(" ", "", $this->buf2[0]);
$this->buf2[0] = strip_tags($this->buf2[0]);
$this->buf1 = explode ( ";", $this->buf2[0]);
$this->varToImport['actors'] = array();
for ( $i=1; $i<count($this->buf1); $i++ ) {
$this->varToImport['actors'][$i-1] = $this->buf1[$i-1];
}
-
- Beiträge: 139
- Registriert: Mi 20. Dez 2006, 15:22
- Kontaktdaten:
-
- Beiträge: 11
- Registriert: Di 9. Jan 2007, 22:47
- Kontaktdaten:
- der-domi
- Site Admin
- Beiträge: 673
- Registriert: Di 4. Apr 2006, 19:22
- Kontaktdaten:
-
- Beiträge: 139
- Registriert: Mi 20. Dez 2006, 15:22
- Kontaktdaten:
Aufgepasst!!! Die Daten der Schauspieler werden übernommen, aber auch der Link ...[mehr] steht jetzt immer am Ende. Also, wenn (wie ich schon im Gemeinschaftsforum gepostet habe http://www.gemeinschaftsforum.com/forum ... #msg546439 ) diese Zeile in der OFDB nicht weg gemacht wird, muss man eben, das jetzt immer zusätzlich löschen.Nasenmann72 hat geschrieben:And again...
Meine NEUE Lösung:
Code: Alles auswählen
// Regisseure $search = '<td nowrap><font face="Arial,Helvetica,sans-serif" size="2" class="Normal">Regie:'; $this->buf1 = explode( $search, $this->siteBuf ); $this->buf2 = explode( "</tr>", $this->buf1[1] ); $this->buf2[0] = str_replace("</a>", ";", $this->buf2[0]); $this->buf2[0] = str_replace(" ", "", $this->buf2[0]); $this->buf2[0] = strip_tags($this->buf2[0]); $this->buf1 = explode ( ";", $this->buf2[0]); $this->varToImport['regisseure'] = array(); for ( $i=1; $i<count($this->buf1); $i++ ) { $this->varToImport['regisseure'][$i-1] = $this->buf1[$i-1]; } // Schauspieler $search = "<td nowrap><font face="Arial,Helvetica,sans-serif" size="2" class="Normal">Darsteller:"; $this->buf1 = explode( $search, $this->siteBuf ); $this->buf2 = explode( "</tr>", $this->buf1[1] ); $this->buf2[0] = str_replace("</a>", ";", $this->buf2[0]); $this->buf2[0] = str_replace(" ", "", $this->buf2[0]); $this->buf2[0] = strip_tags($this->buf2[0]); $this->buf1 = explode ( ";", $this->buf2[0]); $this->varToImport['actors'] = array(); for ( $i=1; $i<count($this->buf1); $i++ ) { $this->varToImport['actors'][$i-1] = $this->buf1[$i-1]; }
P.S. Hab den Sascha Imme (OFDB Head) mal dazu eine PN geschickt, mal sehen was kommt.
-
- Beiträge: 10
- Registriert: Mi 10. Jan 2007, 10:16
Moin,
hier eine angepasste Version, die "...[mehr]" nicht mit übernimmt. Schöner wäre jedoch eine Funktion, die dem Link "[mehr] folgt und dort ALLE Schauspieler ausliest. Hab' ich momentan aber leider keine Zeit für...
Viele Grüße,
Der Nasenmann
hier eine angepasste Version, die "...[mehr]" nicht mit übernimmt. Schöner wäre jedoch eine Funktion, die dem Link "[mehr] folgt und dort ALLE Schauspieler ausliest. Hab' ich momentan aber leider keine Zeit für...
Viele Grüße,
Der Nasenmann
Code: Alles auswählen
// Schauspieler
$search = "<td nowrap><font face=\"Arial,Helvetica,sans-serif\" size=\"2\" class=\"Normal\">Darsteller:";
$this->buf1 = explode( $search, $this->siteBuf );
$this->buf2 = explode( "</tr>", $this->buf1[1] );
$this->buf2[0] = str_replace("</a>", ";", $this->buf2[0]);
$this->buf2[0] = str_replace(" ", "", $this->buf2[0]);
$this->buf2[0] = strip_tags($this->buf2[0]);
$this->buf1 = explode ( ";", $this->buf2[0]);
$this->varToImport['actors'] = array();
for ( $i=1; $i<count($this->buf1); $i++ ) {
if ($this->buf1[$i-1] != "...[mehr]") $this->varToImport['actors'][$i-1] = $this->buf1[$i-1];
}
-
- Beiträge: 139
- Registriert: Mi 20. Dez 2006, 15:22
- Kontaktdaten:
-
- Beiträge: 139
- Registriert: Mi 20. Dez 2006, 15:22
- Kontaktdaten:
Hab hier ein Script in Perl gefunden. Vielleicht kann man das umsetzen:
if($forced) {
my (@cast, $tag, $person, $id, $role);
my $parser = $self->_parser(FORCED);
while($tag = $parser->get_tag('b')) {
next unless (exists $tag->[1]{class} and $tag->[1]{class} eq 'blackcatheader');
last if $parser->get_text =~ /^(cast overview|credited cast|(?:series )?complete credited cast)/i;
}
while($tag = $parser->get_tag('a')) {
last if $tag->[1]{href} =~ /fullcredits/i;
#if($tag->[1]{href} && $tag->[1]{href} =~ m!/name/nm(\d+?)/!) {
if($tag->[1]{href} && $tag->[1]{href} =~ m#(?<!tinyhead)/name/nm(\d+?)/#) {
$person = $parser->get_text;
$id = $1;
my $text = $parser->get_trimmed_text('a', '/tr');
($role) = $text =~ /.*?\s+(.*)$/;
push @cast, {id => $id, name => $person, role => $role};
}
}
$self->{_cast} = \@cast;
}
return $self->{_cast};
}
if($forced) {
my (@cast, $tag, $person, $id, $role);
my $parser = $self->_parser(FORCED);
while($tag = $parser->get_tag('b')) {
next unless (exists $tag->[1]{class} and $tag->[1]{class} eq 'blackcatheader');
last if $parser->get_text =~ /^(cast overview|credited cast|(?:series )?complete credited cast)/i;
}
while($tag = $parser->get_tag('a')) {
last if $tag->[1]{href} =~ /fullcredits/i;
#if($tag->[1]{href} && $tag->[1]{href} =~ m!/name/nm(\d+?)/!) {
if($tag->[1]{href} && $tag->[1]{href} =~ m#(?<!tinyhead)/name/nm(\d+?)/#) {
$person = $parser->get_text;
$id = $1;
my $text = $parser->get_trimmed_text('a', '/tr');
($role) = $text =~ /.*?\s+(.*)$/;
push @cast, {id => $id, name => $person, role => $role};
}
}
$self->{_cast} = \@cast;
}
return $self->{_cast};
}
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast