Auslesen von öffentlichen Datenbanken im Netz: via AS & Automator?

W

Wulfilar

Neues Mitglied
Thread Starter
Dabei seit
26.08.2008
Beiträge
6
Reaktionspunkte
0
Wertes Forum,
ich poste mein Problem hier, weil ich annehme, dass es mit Safari/Applescript/Automator einen von mehreren möglichen Lösungsansätzen gibt.

Das Problem:
Gesamterstellung einer Liste von Einträgen (Menge: ca 100000), die im Netz via Browser nur in Teilen (jeweils ca. 100 - 300 Einträge) abrufbar sind,
oder auch: Auslesen von öffentlichen (!) Datenbanken auf Websites.

Allgemeines Beispiel:
Eine Suchmaske auf einer Webseite erlaubt das Suchen mit Dummies.
Durch intelligente Wahl des Searchstrings kann die jeweilige Ausgabe optimiert werden bis zur maximal möglichen Anzahl Einträge.
Wären dies alle Einträge, könnte ich die erzeugte Liste für meine Zwecke durch Erzeugung eines Vorschau-Dokumentes (intermediär) und weitere Bearbeitung danach nutzen.
(Wie durch Versuch mit der Beispielseite klar wird, funktioniert ein CopyPaste nicht).
Die Gesamtzahl an Einträgen ist jedoch viel höher. Eine manuelle Wiederholung verbietet sich aufgrund der Grösse und soll deswegen automatisiert werden.

Konkretes Beispiel (bitte erst anschauen, da erst dadurch viele Missverständnisse vermieden werden):
Die Webseite: http://ecb.jrc.it/esis/index.php?PGM=ein
erzeugt nach Eingabe eines Suchcodes, z.B. "200%"
und Bestätigen des "Search"-Buttons
in dem unteren Frame der Resultatseite die Ausgabe der ersten 300 (von maximal ca. 1000) Findungen, hier alle Einträge, beginnend mit "200"
Hinweis: Die Wahl des Search-Strings soll hier nicht Gegenstand sein, da sie sehr Datenbankspezifisch ist.
Durch Bestätigen des Next-Buttons erreicht man die folgenden Einträge, beginnend mit dem Suchstring.
Durch Eingabe eines weiteren Suchstrings erhält man weitere Einträge.


Berührte Themenkreise:
Bei Aufgerufener Webseite:
Abarbeiten einer Liste von Strings (den Search-Strings):
Auswahl und Eintrag eines Search-Strings in ein Eingabefeld in einem bestimmten Frame im Browserfenster
Betätigen des "Search"-Buttons im Browserfenster
Transfer der Information aus einem bestimmten Browserfenster, hier durch Generieren eines Vorschaudokumentes. (Alternativvorschläge gerne, aber bitte erst nach Machbarkeitsnachweis z.B. an der unten genannten Seite). Abspeichern der Teilliste unter Nutzung des verwendeten Searchstrings und eines Index.
Betätigen des "Next"-Buttons in einem bestimmten Frame des Browserfensters.
Wiederholung des Transfers und des Abspeicherns des Inhaltes der Information aus einem bestimmten Browserfenster.
Wiederholung der Aktionen: Next-Button und Transfer/Abspeichern bis Ende (gemäss eingesetztem Suchstring). erreicht.

Weiter mit dem nächsten Search-String der Liste...bis fertig.

In einem früheren Leben hätte ich gedacht, sowas mit PERL zu erledigen...
Bei der Wahl der Methode über Vorschaudokumente zur Zwischensicherung besteht natürlicch noch das Sekundärproblem: Effiziente Einspeisung der gewonnenen Daten (Vorschau-Dokumente, pdfs) in lokale Datenbanken.

Königsdisziplin wäre es aus den generierten Web-Dokumenten nur den relevanten Teil auszulesen: die betreffenden <tr.../tr> Informationen (und ggf. vor dem Weiterleiten schon die CSS/mouseover/etc Definitionen auszusäubern und einen reinen Tab-separierten Textstring zu erzeugen....Zumal Safari diese Information wunderschön zugänglich macht...
Würde viel Arbeit am Ende ersparen.



HW & SW:
diverse Macs, aber nur Mac OS 10.4 (nicht 5), MS Office bis 2004 (wg. VBA),
alternativ NeoOffice

Ziel im genannten Falle: Generierung einer Komplettliste (hier: alle EINECS-Einträge)
Alternativorschläge: gerne!
 
Hallo,

das ganze ist nicht so einfach in 10 Minuten erledigt.
Dafür bedarf es schon einiges an Know-How. Ohne mir jetzt ein konkretes Bild gemacht zu haben würde ich die Umsetzung als Aufwändig bezeichnen.

Ist es nicht möglich an die Daten anderweitig zu kommen?
Schreibe doch mal die Buben & Mädels an. Vielleicht gibt es sogar eine Schnittstelle.

Viele Grüße
 
Die meisten Datenbanken der EU kann man als ftp Abo beziehen, kostet in der Regel nicht die Welt. Also einfach Kontakt aufnehmen.

Sonst: mit wget oder curl die Daten holen, indem du einfach die Query korrekt aufbaust, du musst ja eh jedes Formular manuell analysieren. Dann das Ergebnis weiterverarbeiten, je nach Qualität des html mit xslt oder perl oder sed oder ...

Ach ja: Copy / Paste aus dem Browser und dann in Excel geht bei mir mit der Beispielseite wunderbar.
 
Erst mal vielen Dank!
Und: In der Tat (@rueruekela): wenn ich nicht in die Tabelle selber, sondern oberhalb klicke und alles aktiviere, kann ich sogar via CopyPaste die Daten direkt in XL übertragen.
Aber für wget und curl und perl und sed bin ich...zu alt...

Weitere Hinweise?
 
Hallo,

Aber für wget und curl und perl und sed bin ich...zu alt...

Eines ist sicher, bauen wird Dir das niemand, um es gleich ehrlich auf den Punkt zu bringen ;-)
Insofern mußt Du Dich wohl oder übel damit auseinandersetzen.

Hast Du die Buben angeschrieben?
Ich bin mir sicher, sie können und werden Dir ganz trivial weiterhelfen können.

Viele Grüße
 
Eines ist sicher, bauen wird Dir das niemand, um es gleich ehrlich auf den Punkt zu bringen ;-)
Insofern mußt Du Dich wohl oder übel damit auseinandersetzen.

Ok. Point taken.
Aber bei mir hakt's zur Zeit daran, wie ich via Skript den "Next"-Button ansteuere...

Manuell geht das alles sicher auch (für 10 % der DB brauch ich bloss 2 h manuell),
allein:
es bleibt der intellektuelle Anspruch! :D
 
für firefox gibt es eine art makro-recorder als plugin, wenn ich mich richtig erinnere. das könnte vielleicht helfen...

aber: ich würd den laden anschreiben, kontaktadressen mit "IT" im Titel haben die ja zuhauf auf der seite...
 
Zurück
Oben Unten