Ich hoffe meine Fragen sind nicht zu blöd, ich habe wirklich noch nie was mit php gemacht
Ich suche eine Möglichkeit, Daten von Büchern abzufragen.
Ich habe bereits einiges in Java und C/C++ programmiert, Skriptsprachen wie PHP oder Perl und der Einsatz im Internet gingen bisher an mir vorbei (bzw. konnte ich mich davor während meiner Ausbildung erfolgreich drücken ).
Da ich aber genau diese Wissenslücke nun aufholen will, habe ich vor, für mich persönlich ein PHP-Skript zu machen, dem man z.B. den Buchtitel übergibt und das Skript das zugehörige Erscheinungsdatum, Autor und dergleichen findet.
Das alles läuft dann lokal auf meinem PC und ist nur für mich gedacht, um damit Erfahrungen zu sammeln.
Ich habe mir dazu die API von Amazon angeschaut, aber die scheint kostenpflichtig zu sein. Dann hat mir jemand geraten, meine Anfrage per GET an die Amazon-Suche zu senden und die Antwort entsprechend zu parsen.
Das hab ich dann versucht. Und nachdem Skripte zusammenkopieren wie erwartet nicht das Wahre war habe ich nun mehr oder weniger ein eigenes geschrieben. Das ruft auch die Amazon-Suchseite auf und übergibt einen Suchbegriff und speichert das Ergebnis als HTML.
Zumindest sollte es so sein, gespeichert wird aber nur die Suchseite (immerhin).
Ich geh mal stark davon aus, dass ich die Suchanfrage falsch zusammenbaue aber so richtig weiß ich nun nicht, wie ich weitermachen soll. Muss ich die Ergebnisseite vielleicht nochmal abfragen? Ich steh auf dem Schlauch
Für jede Hilfe bin ich dankbar!
Ich suche eine Möglichkeit, Daten von Büchern abzufragen.
Ich habe bereits einiges in Java und C/C++ programmiert, Skriptsprachen wie PHP oder Perl und der Einsatz im Internet gingen bisher an mir vorbei (bzw. konnte ich mich davor während meiner Ausbildung erfolgreich drücken ).
Da ich aber genau diese Wissenslücke nun aufholen will, habe ich vor, für mich persönlich ein PHP-Skript zu machen, dem man z.B. den Buchtitel übergibt und das Skript das zugehörige Erscheinungsdatum, Autor und dergleichen findet.
Das alles läuft dann lokal auf meinem PC und ist nur für mich gedacht, um damit Erfahrungen zu sammeln.
Ich habe mir dazu die API von Amazon angeschaut, aber die scheint kostenpflichtig zu sein. Dann hat mir jemand geraten, meine Anfrage per GET an die Amazon-Suche zu senden und die Antwort entsprechend zu parsen.
Das hab ich dann versucht. Und nachdem Skripte zusammenkopieren wie erwartet nicht das Wahre war habe ich nun mehr oder weniger ein eigenes geschrieben. Das ruft auch die Amazon-Suchseite auf und übergibt einen Suchbegriff und speichert das Ergebnis als HTML.
Zumindest sollte es so sein, gespeichert wird aber nur die Suchseite (immerhin).
Ich geh mal stark davon aus, dass ich die Suchanfrage falsch zusammenbaue aber so richtig weiß ich nun nicht, wie ich weitermachen soll. Muss ich die Ergebnisseite vielleicht nochmal abfragen? Ich steh auf dem Schlauch
Für jede Hilfe bin ich dankbar!
PHP-Code:
<?php
printf("Start!\n");
// host, site and searchstring
$host = "www.amazon.de";
$path = "/Erweiterte-Suche-Bücher/b?ie=UTF8&node=124535011";
$referer = "www.amazon.de";
$suchstring = "Der Herr der Ringe";
// url öffnen und daten senden
$amazon_suche = fsockopen($host, 80);
printf("Open socket!\n");
fputs($amazon_suche, "GET $path HTTP/1.1\r\n");
fputs($amazon_suche, "Host: $host\r\n");
fputs($amazon_suche, "Referer: $referer\r\n");
fputs($amazon_suche, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($amazon_suche, "Content-length: ". strlen($suchstring) ."\r\n");
fputs($amazon_suche, "Connection: close\r\n\r\n");
printf($amazon_suche+"\n");
fputs($amazon_suche, $suchstring);
printf("Send data!\n");
// antwort entgegenehmen
while(!feof($amazon_suche)) {
printf("test\n");
$ergebnis .= fgets($amazon_suche, 128);
}
printf("Recieve data!\n");
fclose($amazon_suche);
// seite speichern
$file = fopen("test.html","w");
fputs($file, $ergebnis);
printf("Save file!\n");
printf("End!\n");
?>
Kommentar