Tool zum Speichern von Webseiten im XML-Format

Ich möchte eine Offline-App erstellen, um Informationen zu Medikamenten anzuzeigen. Die Informationen, die ich verwenden muss, sind bereits in Wikipedia verfügbar . Aber auf dieser Seite gibt es so viele Unterseiten (1000+), die gespeichert werden müssen, und meiner Meinung nach ist es nicht machbar, diese Aufgabe manuell zu erledigen.

Beachten Sie auch, dass ich jedes Medikament in einem formatierten Element in XML speichern sollte (mit einem bestimmten Schema). Jetzt suche ich nach einem Werkzeug, um diese Aufgabe zu erleichtern. Gibt es ein solches Tool überhaupt oder nicht?

Meine Anforderungen

  1. Ruft eine oder mehrere HTML-Seiten ab und erstellt ein XML-Dokument
  2. Am liebsten kostenlos
  3. Windows- oder Linux-basiert
(a) Das Tool muss also nicht alle Wikipedia-Artikel zu Drogen herunterladen/auswählen, richtig? (b) Welches XML-Schema soll verwendet werden, oder soll es die HTML-Elemente mit dem HTML-Namensraum verwenden? (c) Soll das Tool mit einer Liste von URLs, mit nur einer URL, mit einer lokalen Datei, mit Volltexteingabe arbeiten?
@unor (a) Wenn das so ist, ist es besser (b) Ein einfaches XSD-Schema, ich denke, das ist egal (c) Das Arbeiten mit einer Liste von URLs ist besser, aber das Unterstützen von Dateien und anderen Dokumenten ist auch akzeptabel (d) Danke für deine Antwort

Antworten (2)

Ich bezweifle, dass Sie für diesen Zweck ein handelsübliches Tool finden werden, dies ist meiner Meinung nach eine zu spezifische Anforderung. Aber es gibt viele Frameworks für jede wichtige Programmiersprache, die Ihnen helfen, selbst einen Web-"Scraper" oder "Crawler" zu implementieren.

Wenn Sie zum Beispiel nach „python web crawler“ googeln, wird sofort http://scrapy.org/ angezeigt , wenn Sie nach „java web crawler“ suchen, erhalten Sie einen Link zu crawler4j . Mit einem solchen Framework sollte es für jemanden mit >4.000 Punkten bei Stackoverflow höchstens eine Frage von ein paar Tagen sein, um das zu implementieren, wonach Sie suchen.

Danke, lieber Doc Brown und @unor, Ihre Antworten sind wirklich hilfreich und wertvoll, aber ich kann sie leider nicht beide akzeptieren. Meiner Meinung nach könnte es angenehmer sein, etwas Programmieren für diese Aufgabe zu erleben! Also habe ich diese Antwort akzeptiert, aber ich schätze die Antwort von Unor sehr
@abforce: Vielleicht können Sie die beiden Vorschläge kombinieren - schreiben Sie einen Crawler (unter Verwendung eines der vorgeschlagenen Frameworks), der die Funktion "Special: Export" verwendet.

Kein allgemeines Tool für diesen Job, aber eine Lösung, die Wikipedia-Artikel in XML-Dokumente konvertiert:

  1. Gehen Sie zu http://en.wikipedia.org/wiki/Special:Export
  2. Artikelname(n) eingeben
  3. Klicken Sie auf "Exportieren"

(Durch Eingabe eines Kategorienamens in das Feld „Seiten aus Kategorie hinzufügen“ können Sie automatisch alle Seiten exportieren, die zu dieser Kategorie gehören.)

Auf http://www.mediawiki.org/wiki/Manual:Parameters_to_Special:Export können Sie weitere Funktionen der Exportfunktion nachlesen, die durch Manipulation der URL gesteuert werden können.

Der eigentliche Artikelinhalt (im XML-Element enthalten text) wird in MediaWiki-Syntax exportiert. Auf http://www.mediawiki.org/wiki/Alternative_parsers finden Sie verschiedene Tools, die dieses Markup in etwas anderes umwandeln, zB XML.

Beispielsweise kann Pandoc die MediaWiki-Syntax importieren und nach XHTML (das ist XML) exportieren.