1. #1

    Registriert seit
    27.03.2014
    Beiträge
    18
    Thanked 2 Times in 2 Posts

    Standard PHP IMDB ausgabe

    Hallo,
    ich möchte gerne eine ausgabe in PHP von IMDB Infos z.B. Cover,Titel,Gener etc.
    Wo mich jemand schon drauf hingewiesen hat ist diese suchausgabe : http://www.imdb.com/xml/find?json=1&...eniffer+garner
    Ich kenne mich leider nicht all zu gut mit PHP aus und wollte daher fragen ob mir da jemand helfen könnte
    Danke schonmal im vorraus

    Mfg

  2. #2
    Avatar von Bubble
    Registriert seit
    20.11.2011
    Beiträge
    703
    Thanked 510 Times in 327 Posts

    Standard AW: PHP IMDB ausgabe

    PHP-Code:
    <?php

    function print_ar($array){
        print 
    "<pre>";
        
    print_r($array);
        print 
    "</pre>";
    }

    $file file_get_contents('http://www.imdb.com/xml/find?json=1&nr=1&nm=on&q=jeniffer+garner');
    $json json_decode($file);
    print_ar($json);
    Code:
    stdClass Object
    (
        [name_approx] => Array
            (
                [0] => stdClass Object
                    (
                        [id] => nm0004950
                        [title] => 
                        [name] => Jennifer Garner
                        [description] => Actress, Juno
                    )
    
                [1] => stdClass Object
                    (
                        [id] => nm4047873
                        [title] => 
                        [name] => Wallace Garner
                        [description] => Actress, Loose Ends
                    )
    
                [2] => stdClass Object
                    (
                        [id] => nm4216726
                        [title] => 
                        [name] => Jennifer Garner
                        [description] => Actress, Fright Flick
                    )
    
                [3] => stdClass Object
                    (
                        [id] => nm1330463
                        [title] => 
                        [name] => Jennifer Kristin
                        [description] => Actress, Star-Crossed
                    )
    
                [4] => stdClass Object
                    (
                        [id] => nm6193753
                        [title] => 
                        [name] => Jennifer Kristen Garner
                        [description] => Miscellaneous Crew, Supernovacaine
                    )
    
                [5] => stdClass Object
                    (
                        [id] => nm3871932
                        [title] => 
                        [name] => Jennifer Garner
                        [description] => Second Unit Director or Assistant Director, Down, Right, Hearted.
                    )
    
                [6] => stdClass Object
                    (
                        [id] => nm1329703
                        [title] => 
                        [name] => Jennifer Garner
                        [description] => Uncategorised
                    )
    
                [7] => stdClass Object
                    (
                        [id] => nm0306972
                        [title] => 
                        [name] => Jennifer Gardner
                        [description] => Miscellaneous Crew, Sleepless in Seattle
                    )
    
                [8] => stdClass Object
                    (
                        [id] => nm1751958
                        [title] => 
                        [name] => Jennifer Warner
                        [description] => Writer, Peace Love & Beats
                    )
    
                [9] => stdClass Object
                    (
                        [id] => nm2052412
                        [title] => 
                        [name] => Jennifer Kay Warner
                        [description] => Actress, Desert of Death
                    )
    
                [10] => stdClass Object
                    (
                        [id] => nm4160709
                        [title] => 
                        [name] => Jennifer Garnet Filo
                        [description] => Costume Designer, Doorways
                    )
    
                [11] => stdClass Object
                    (
                        [id] => nm3252673
                        [title] => 
                        [name] => Jennifer Evans Gardner
                        [description] => Writer, My Pet Boy/Dem Bones
                    )
    
                [12] => stdClass Object
                    (
                        [id] => nm0306971
                        [title] => 
                        [name] => Jennifer Gardner
                        [description] => Actress, Passion Fish
                    )
    
                [13] => stdClass Object
                    (
                        [id] => nm1783529
                        [title] => 
                        [name] => Jennifer Gardner
                        [description] => Actress, Kohan II: Kings of War
                    )
    
                [14] => stdClass Object
                    (
                        [id] => nm2556819
                        [title] => 
                        [name] => Jennifer Gardner
                        [description] => Actress, Azúcar amarga
                    )
    
                [15] => stdClass Object
                    (
                        [id] => nm0308135
                        [title] => 
                        [name] => Jennifer Garrett
                        [description] => Actress, My Best Friend's Wedding
                    )
    
                [16] => stdClass Object
                    (
                        [id] => nm1927878
                        [title] => 
                        [name] => Jennifer Gardner
                        [description] => Production Manager, Invader
                    )
    
                [17] => stdClass Object
                    (
                        [id] => nm5589691
                        [title] => 
                        [name] => Jeniffer Salter
                        [description] => Actress, Panic Button
                    )
    
                [18] => stdClass Object
                    (
                        [id] => nm4110843
                        [title] => 
                        [name] => Jenifer Lerner
                        [description] => Producer, The Road Show: Where Mercy Is Shown
                    )
    
                [19] => stdClass Object
                    (
                        [id] => nm3144518
                        [title] => 
                        [name] => Jennifer Varner
                        [description] => Self, THS Investigates: Hot for Student
                    )
    
            )
    
    )

  3. #3

    Registriert seit
    27.03.2014
    Beiträge
    18
    Thanked 2 Times in 2 Posts

    Standard AW: PHP IMDB ausgabe

    Danke, aber ich glaube ich habe mich falsch ausgedrückt, ich möchte gerne eine eigene suchanfrage machen (nicht auf imdb.com) und mir dann das ergebniss ausgeben lassen.

    Mfg

  4. #4
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.142
    Thanked 9.130 Times in 3.005 Posts
    Blog Entries
    5

    Standard AW: PHP IMDB ausgabe

    Im Eingangspost schreibst du von IMDB und postest sogar einen Beispiellink dazu, jetzt auf einmal nicht mehr imdb.com.
    Bubbles Code macht auf imdb.com doch genau das: Suchanfrage absenden und das JSON-Ergebnis wieder in einen Array umwandeln. Da könntest du z.B. mit einer for-Schleife alle Ergebnisse ausgeben lassen.
    Wenn du die Suche einer anderen Seite abfragen willst, musst du dir dort eben eine API suchen und eine Abfrage dafür implementieren, wie Bubble es bei imdb.com gemacht hat. Wenn es keine gibt wird das ganze schwieriger, dann musst du mit dem HTML Quelltext der kompletten Seite arbeiten um das zu bekommen was du suchst.


  5. #5

    Registriert seit
    27.03.2014
    Beiträge
    18
    Thanked 2 Times in 2 Posts

    Standard AW: PHP IMDB ausgabe

    Nein, ich meinte das ich die Suchanfrage nicht auf imdb machen werde sondern auf einer anderen seite und dort dann auch das ergebniss haben möchte, wie gesagt kenne ich mich leider nicht so gut mit PHP aus sry ^^

    Mfg

  6. #6
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.142
    Thanked 9.130 Times in 3.005 Posts
    Blog Entries
    5

    Standard AW: PHP IMDB ausgabe

    Dann musst du wie gesagt dort eine entsprechende API suchen und die Abfrage in PHP implementieren. Hellseher gibt es hier leider keine, also entweder mehr Infos oder noch besser selbst versuchen.


  7. #7

    Registriert seit
    27.03.2014
    Beiträge
    18
    Thanked 2 Times in 2 Posts

    Standard AW: PHP IMDB ausgabe

    Ich habe das hier noch gefunden :
    <?php

    /////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Free PHP IMDb Scraper Web Service API
    // Author: Abhinay Rathore
    // Website: http://www.AbhinayRathore.com
    // Blog: http://web3o.blogspot.com
    // Demo: http://lab.abhinayrathore.com/imdb/
    // More Info: http://web3o.blogspot.com/2010/10/php-imdb-scraper-for-new-imdb-template.html
    // Last Updated: July 3, 2011
    /////////////////////////////////////////////////////////////////////////////////////////////////////////

    include("imdb.php");

    $movieName = $_REQUEST["m"];
    $output = strtolower($_REQUEST["o"]);
    if($output != "xml" && $output != "json" && $output != "jsonp"){
    $output = "xml"; //Set default to XML
    }

    $i = new Imdb();
    $mArr = array_change_key_case($i->getMovieInfo($movieName), CASE_UPPER);

    ///////////////[ XML Output ]/////////////////
    if($output == "xml") {
    header("Content-Type: text/xml");
    $doc = new DomDocument('1.0');
    $doc->formatOutput = true;
    $movie = $doc->createElement('MOVIE');
    $movie = $doc->appendChild($movie);
    foreach ($mArr as $k=>$v){
    if(is_array($v)){
    $node = $doc->createElement($k);
    $node = $movie->appendChild($node);
    $c = 0;
    foreach($v as $a){
    $c++;
    $child = $doc->createElement($k . "_");
    $child = $node->appendChild($child);
    $child->setAttribute('n', $c);
    $value = $doc->createTextNode($a);
    $value = $child->appendChild($value);
    }
    } else {
    $node = $doc->createElement($k);
    $node = $movie->appendChild($node);
    $value = $doc->createTextNode($v);
    $value = $node->appendChild($value);
    }
    }
    $xml_string = $doc->saveXML();
    echo $xml_string;
    } //End XML Outout

    ///////////////[ JSON Output ]/////////////////
    if($output == "json") {
    header('Content-type: application/json');
    echo json_encode($mArr);
    } //End JSON Outout

    ///////////////[ JSONP Output ]/////////////////
    if($output == "jsonp") {
    header('Content-type: application/json');
    echo isset($_GET['callback']) ? $_GET['callback']."(". json_encode($mArr) .")" : json_encode($mArr);
    } //End JSONP Outout
    ?>

  8. #8
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.142
    Thanked 9.130 Times in 3.005 Posts
    Blog Entries
    5

    Standard AW: PHP IMDB ausgabe

    Ach du willst die Daten von imdb holen und über dein Script ausgeben, sprich als eine Art Wrapper für imdb?
    Dafür reicht es im Prinzip schon, den JSON-String von imdb zu holen und in deinem Script mit korrektem MIME-Type auszugeben, sprich im Fall von JSON

    PHP-Code:
    header('Content-Type: application/json'); 
    Und danach eben den JSON-String. Wie du an diesen kommst kannst du Bubble's Post entnehmen. XML könntest du natürlich auch noch implementieren. Sofern du nicht zwingend auf XML angewiesen bist würde ich aber eher zu JSON raten, da weniger Overhead.

    Mal abgesehen von den rechtlichen Aspekten die du beachten solltest würde ich lokales zwischenspeichern der Daten dringend empfehlen. Du musst bedenken, dass bei jedem Aufruf deines Scriptes eine Anfrage an imdb gesendet wird. Das ist erst mal performancemäßig nicht sinnvoll, da die Ausgabe deines Scriptes dadurch verlangsamt wird. Dann kann das auf Dauer auch Probleme geben, wenn zu viele Anfragen in kurzer Zeit gesendet werden. Zum Schutz vor DoS hat jede größere Seite in der Regel ein Limit bei der Anzahl der Aufrufe/Verbindungen. Sobald dieses erreicht ist, wirst du geblockt und dein Script wird nicht mehr funktionieren.

    Solltest du doch was anderes meinen, bitte mal genauer erklären was du konkret vor hast.


  9. The Following User Says Thank You to DMW007 For This Useful Post:

    RiPLEYY (27.03.2014)

  10. #9

    Registriert seit
    27.03.2014
    Beiträge
    18
    Thanked 2 Times in 2 Posts

    Standard AW: PHP IMDB ausgabe

    Ok, jetzt ist es richtig rüber gekommen !
    Danke, ich werde mich mal dran prbieren

    Mfg

Ähnliche Themen

  1. VB.Net Regex Ausgabe bleibt leer?!
    Von One Way im Forum .Net
    Antworten: 2
    Letzter Beitrag: 05.03.2014, 15:39
  2. Antworten: 1
    Letzter Beitrag: 27.06.2013, 00:28
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.