RiPLEYY (27.03.2014)
Thema: PHP IMDB ausgabe
-
27.03.2014, 01:03 #1
- Registriert seit
- 27.03.2014
- Beiträge
- 18
Thanked 2 Times in 2 PostsPHP 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
-
27.03.2014, 02:01 #2
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 ) ) )
-
27.03.2014, 16:31 #3
- Registriert seit
- 27.03.2014
- Beiträge
- 18
Thanked 2 Times in 2 PostsAW: 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
-
27.03.2014, 16:43 #4
- Registriert seit
- 15.11.2011
- Beiträge
- 6.142
- Blog Entries
- 5
Thanked 9.130 Times in 3.005 PostsAW: 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.
-
27.03.2014, 17:01 #5
- Registriert seit
- 27.03.2014
- Beiträge
- 18
Thanked 2 Times in 2 PostsAW: 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
-
27.03.2014, 17:14 #6
- Registriert seit
- 15.11.2011
- Beiträge
- 6.142
- Blog Entries
- 5
Thanked 9.130 Times in 3.005 PostsAW: 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.
-
27.03.2014, 17:24 #7
- Registriert seit
- 27.03.2014
- Beiträge
- 18
Thanked 2 Times in 2 PostsAW: 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
?>
-
27.03.2014, 17:40 #8
- Registriert seit
- 15.11.2011
- Beiträge
- 6.142
- Blog Entries
- 5
Thanked 9.130 Times in 3.005 PostsAW: 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');
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.
-
The Following User Says Thank You to DMW007 For This Useful Post:
-
27.03.2014, 19:43 #9
- Registriert seit
- 27.03.2014
- Beiträge
- 18
Thanked 2 Times in 2 PostsAW: PHP IMDB ausgabe
Ok, jetzt ist es richtig rüber gekommen !
Danke, ich werde mich mal dran prbieren
Mfg
Ähnliche Themen
-
VB.Net Regex Ausgabe bleibt leer?!
Von One Way im Forum .NetAntworten: 2Letzter Beitrag: 05.03.2014, 15:39 -
Problem: cURL Webseite auslesen - leere Ausgabe
Von Devon im Forum PHPAntworten: 1Letzter Beitrag: 27.06.2013, 00:28
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.