2009-07-17 10 views
1

Versuchen, etwas mehr PHP zu lernen. Hier ist was ich suche.Wie kann man am besten eine Website durchsuchen und Daten in PHP abrufen?

Im Wesentlichen möchte ich eine Website suchen und Daten auf meine eigene Website zurückgeben.

  1. Fügen Sie einem Formular ein paar Schlüsselwörter hinzu.
  2. Verwenden Sie diese Schlüsselwörter, um eine Website wie monster.com nach Ergebnissen zu durchsuchen, die mit den eingegebenen Keywords übereinstimmen.
  3. Ergreifen Sie diese Daten und geben Sie sie auf meiner eigenen Website zurück.

Wie schwer ist so etwas? Ich nehme zur Kenntnis, dass der oben genannte Entwurf zu stark vereinfacht ist, aber alle Tipps, die Sie anbieten können, werden sehr geschätzt.

Antwort

2

Wenn Sie eine Website mit einer API aufrufen, die für diese Funktionalität vorgesehen ist, befinden Sie sich auf der Straße. Rufen Sie einfach die entsprechende Suchfunktion der API auf und Sie sind fertig.

Wenn die von Ihnen abgefragte Site keine API besitzt, können Sie die Site unter Umständen mithilfe der richtigen Parameter unter Umständen mit einem HTTP-GET durchsuchen. Dann müssen Sie nur mit Ihrem Skript und ein paar Regex-Funktionen durch die Datei nach den Suchergebnissen suchen.

Hier ist ein kleines Tutorial auf screen scraping with PHP. Hoffentlich wird dir das etwas helfen. Das Problem dabei ist, dass im Allgemeinen, wenn die Website es nicht einfach gemacht hat, auf ihre Daten zuzugreifen, sie dies möglicherweise nicht möchten.

+0

Danke für die Antwort und den Link. Leider hat die Seite, mit der ich testen möchte, keine API, aber ich werde sehen, was passiert. –

1

Geben Sie Yahoo Query Language (yql) ein. Es ist ein Service, mit dem Sie Dinge wie xpath verwenden können, um Daten von Websites zu erhalten und sie in ein einfach zu verwendendes XML- oder JSON-Format zu bringen. Die Sprache ist ähnlich aufgebaut wie sql (daher der Name).

Ich habe es für andere Websites verwendet, um RSS-Feeds für Websites zu erstellen, die es nicht hatten und es war ziemlich einfach zu lernen.

http://developer.yahoo.com/yql/

Verwandte Themen