Verfasst: Mo 15. Jan 2007, 17:21
				
				Bei Fremd-Skripten doch bitte immer die Quelle angeben. Danke!Butzemann hat geschrieben:Hab hier ein Script in Perl gefunden.
Forum für die Webseite von Dominik Erdmann
https://www.der-domi.de/board/
Bei Fremd-Skripten doch bitte immer die Quelle angeben. Danke!Butzemann hat geschrieben:Hab hier ein Script in Perl gefunden.
http://search.cpan.org/src/STEPANOV/IMD ... DB/Film.pmder-domi hat geschrieben:Bei Fremd-Skripten doch bitte immer die Quelle angeben. Danke!Butzemann hat geschrieben:Hab hier ein Script in Perl gefunden.
Code: Alles auswählen
    var $url;
    var $url2;
    var $buf1;
    var $buf2;
    var $siteBuf;
    var $siteBuf2;
...
    function ofdbimport() {
        if ( !strlen($_GET["importID"]) )
            return -1;
        $this->importID = $_GET['importID'];
        // url to get search result
        $this->url = ret_entities( $this->getLinkToDB( $this->importID ) );      
        // url to get actor details
        $this->url2 =  str_replace("film", "film_detail", $this->url);        
...
           // Schauspieler
            if ( loadFile( $this->url2, $this->siteBuf2, "r" ) >= 0 ) {
              $search = "<td nowrap><font face=\"Arial,Helvetica,sans-serif\" size=\"2\" class=\"Normal\">Darsteller:";
              $search = "<b><i>Darsteller</i></b>";
              $this->buf1 = explode( $search, $this->siteBuf2 );
              $this->buf2 = explode( "</td><td><br> ", $this->buf1[1] );
              $this->buf1 = explode( "</tr>\n</table>\n<br>\n", $this->buf2[0]);
              $this->buf2[0] = str_replace("</a>", ";", $this->buf1[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];
              }
            }
Code: Alles auswählen
    var $url;
    var $url2;
    var $buf1;
    var $buf2;
    var $siteBuf;
    var $siteBuf2;
...
    function ofdbimport() {
        if ( !strlen($_GET["importID"]) )
            return -1;
        $this->importID = $_GET['importID'];
        // url to get search result
        $this->url = ret_entities( $this->getLinkToDB( $this->importID ) );
        // url to get actor details
        $this->url2 =  str_replace("film", "film_detail", $this->url);
...
            // Regisseure & Schauspieler
            if ( loadFile( $this->url2, $this->siteBuf2, "r" ) >= 0 ) {
              // Regisseure
			  $search = "<b><i>Regie</i></b>";
              $this->buf1 = explode( $search, $this->siteBuf2 );
              $this->buf2 = explode( "</td><td><br> ", $this->buf1[1] );
              $this->buf1 = explode( "</tr>\n</table>\n<br>\n", $this->buf2[0]);
              $this->buf2[0] = str_replace("</a>", ";", $this->buf1[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 = "<b><i>Darsteller</i></b>";
              $this->buf1 = explode( $search, $this->siteBuf2 );
              $this->buf2 = explode( "</td><td><br> ", $this->buf1[1] );
              $this->buf1 = explode( "</tr>\n</table>\n<br>\n", $this->buf2[0]);
              $this->buf2[0] = str_replace("</a>", ";", $this->buf1[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];
              }
            }
Super! Das ist sehr hilfreich. Es ist wirklich nervig, dass das Layout ständig geändert wird. Die entsprechenden Änderungen sind alles andere als trivial. Ich muß mich jedesmal neu einarbeiten.Butzemann hat geschrieben:Ein kleiner Tip (an den domi). Es wäre denkbar auf das alte Design der IMDB zurückzugreifen, welches unter http://former.imdb.com zu erreichen ist.
Code: Alles auswählen
-Umgebung, um Quellcode zu posten. Das verbessert deutlich die LesbarkeitCode: Alles auswählen
            // Regisseure
            $search = "<h5>Regisseur:</h5>";
            $this->buf1 = explode( $search, $this->siteBuf );
            $this->buf2 = explode( '</div>', $this->buf1[1] );
            $search = '/">';
            $this->buf1 = explode( $search, $this->buf2[0] );
            $this->varToImport['regisseure'] = array();
            for ( $i=1; $i<count($this->buf1); ++$i ) {
                
                $this->buf2 = explode( '</a>', $this->buf1[$i] );
                $this->varToImport['regisseure'][$i-1] = htmlentities( urldecode( $this->buf2[0] ) );
            }