Frage

Sorry Leute, ich habe ein Mock, Fragen zu stellen läuft, wie wikipedia Daten in meine Anwendung zu integrieren, und ehrlich gesagt habe ich glaube nicht, dass ich an meinem Ende keinen Erfolg hatte, wie ich habe alle Ideen versuchen und irgendwie aufzugeben, wenn ich in einer Sackgasse oder Hindernis lesen. Ich werde versuchen zu erklären, was genau ich versuche, hier zu tun.

Ich habe eine einfache Liste der Strukturen wie Städte und Länder. Meine Anwendung ist eine einfache PHP-basierte Ajax-basierte Anwendung mit einer Einrichtung suchen und suchen. Menschen unterschreiben und schließen sich mit einer Stadt und wenn ein Benutzer Stadt blättert - er / sie kann in dieser Stadt Menschen und Unternehmen sieht das heißt, wer ein Teil unseres Systems ist, das ist.

Der Teil irgendwie leicht auf eigenem eingerichtet und funktioniert gut. Die Sache ist die, dass Meine Suchergebnisse im Format heißt einige sucht man würde für Peking können sagen. Es würde zurückkehrt in einem drei Oberfläche mit Registerkarten Feld:

  1. Erster Tab würde eine Infobox containig Stadtinformationen für Peking hat
  2. Seond würde ein Land Tab sein, eine infobox des Landes Informationen aus China hält
  3. Drittes Register würde Anzeigen aller Kontakte in Peking hat.

Der Inhalt für die ersten beiden Laschen sollten herkomme Wikipedia.Now ich total verloren bin, was der beste Weg wäre, dies zu tun bekommen und darüber hinaus einmal entscheiden über eine Methodik dann - wie mache ich es und machen es so , es ist ziemlich robust.

Ein paar Ideen gut und schlecht, wie ich in der Lage gewesen, so weit zu verdauen sind:

  1. Führen Sie eine Locke Anfrage direkt an wikipedia und analysieren die zurückkehrenden Daten jedes Mal eine Suche durchgeführt wird. Es besteht keine Notwendigkeit, eine lokale Kopie in diesem Fall der Daten auf wikipedia zu halten. Das andere Problem ist, dass seine hundert darauf angewiesen, Daten von einer entfernten dritten Stelle und ich bezweifle, dass es möglich ist, eine Anfrage immer auf wikipedia zu tun grundlegende Informationen abzurufen. Und dazu, dass die Daten unter Berücksichtigung auf wikipedia erfordert bei jeder Anfrage analysiert werden -. Das ist gonna schweren Server lädt zu überwinden .. oder bin ich zu spekulieren hier

  2. einen Download des Wikipedia-Dump nehmen und abfragen. Nun, ich habe die gesamte Datenbank heruntergeladen, aber seine gonna ewig dauern, alle Tabellen aus dem XML-Dump zu importieren. Plus die Tatsache, dass ich möchte nur eine Liste der Länder extrahieren und Städte und ihre Info-Boxen -. Menge der Informationen, die in der Deponie ist von keinerlei Nutzen für mich

  3. meine eigenen lokalen Tabellen Stellen und einen Cron erstellen [Ich werde erklären, warum Cron-Job hier] Skript, das alle teh Ländern und Städten Seiten auf Wikipedia irgendwie analysieren würde und wandeln sie in ein Format, das ich in meinen Tabellen verwenden können . Aber ehrlich gesagt ich nicht alle Informationen in den Infoboxen müssen als infact ist, wenn ich nur noch die Grund Markup der Infoboxen bekommen könnte wie - die mehr als genug für mich sein würde. Wie:

Titel von Land | Infobox Raw Text

Ich persönlich kann Sachen wie Koordinaten und andere Details extrahieren, wenn ich will.

Ich habe sogar versucht Dritter Datensätze aus infochiumps und dbpedia aber der Datensatz aus infochimps Download ist unvollständig und enthielt nicht alle Informationen, die ich angezeigt werden wollte - plus mit dbpedia Ich habe absolut keine Ahnung, was mit der CSV-Datei die ich zu tun heruntergeladen von Infobox und fürchten, dass es auch nicht vollständig sein könnte.

Aber das ist nur ein Teil hier des Problems. Ich möchte einen Weg, um die Wikipedia-Informationen zu zeigen - ich werde alle Links haben auch verweisen auf wikipedia als eine nette Infos aus wikipedia richtig rundum angezeigt, aber das Problem ist, dass ich einen Weg, sich periodisch ich die Informationen aktualisieren kann ich ich habe so atleast nicht völlig veraltete Daten aus wikipedia. Wie kann auch ein System sagen, die überprüfen und, wenn wir ein neues Land oder neuen Standort haben können sie die Informationen analysieren und es irgendwie abrufen. Ich verlasse mich auf Kategorien von Ländern und Städten in wikipedia für diese hier, aber ehrlich gesagt all diese Ideen auf Papier, teilweise codiert und seine eingroßes Durcheinander.

Ich bin Programmierung in PHP und MySQL und meine Frist nähert sich schnell - in Anbetracht der obigen Situation und Anforderungen, was die beste und praktischste Methode zu folgen und zu implementieren. Ich bin total offen für Ideen - Beispiele aus der Praxis, wenn jemand etwas ähnliches getan hat - ich würde gerne hören: D

War es hilfreich?

Lösung

Ich würde vorschlagen, die folgende

  • query die Stadt aus wikipedia, wenn sie (die Stadt) in der DB erstellt wird
  • Analysieren der Daten, speichern Sie eine lokale Kopie mit dem Zeitstempel der letzten Aktualisierung
  • über den Zugang, um die Daten zu aktualisieren, wenn es notwendig ist. Sie können die alten mit einem Wasserzeichen angezeigt werden sagen, es ... Tage alt ist und jetzt zu aktualisieren. Ändern Sie dann auf die frisch aquired ein, wenn das Update durchgeführt wird. Sie haben gesagt, Sie AJAX verwenden, so dass es kein Problem
  • sein

Es würde die queryes auf wikipedia minimieren und Ihren Dienst wird nicht angezeigt, leere Seiten, auch wenn wikipedia nicht erreichbar ist.

Andere Tipps

Ein paar Dinge, die ich mir vorstellen kann:

  1. Sie die wikipedia Daten auf Ihrer Website in einem Iframe angezeigt werden soll.

  2. Mit Locken Sie den HTML von wikipedia zu bekommen, dann ein eigenes Stylesheet verwenden es, um Stil und / oder blenden Sie die Teile, die Sie nicht angezeigt werden sollen.

Der Versuch, um tatsächlich die HTML zu analysieren und die Stücke herausziehen Sie wollen einen riesigen Schmerz sein wird, und wird höchstwahrscheinlich für jede Stadt Brauch sein, gehen zu müssen. Besser etwas immer einfach für jetzt arbeiten dann zurück zu gehen und es zu verbessern, wenn Sie später Sie wirklich entscheiden müssen.

Wie wäre es eines der Wikipedia Geocoding Webservices

Es gibt mehr zur Verfügung, wo Sie passieren in können z.B. postal und Land in einem kurzen Artikel Zusammenfassung und einen Link zu Wikipedia-Artikel.

Wenn das sei genug.

Hier finden Sie aktuelle DBPedia es schön Extraktion von Wikipedia-Daten im CSV-Format enthält.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top