Internet-Software, Browser, FTP, SSH 4.687 Themen, 38.714 Beiträge

Internetseiten teilautomatisch auswerten?

mainframer / 10 Antworten / Flachansicht Nickles

Hallo,
ich suche als Internet-Laie einen Tipp für folgende Problemstellung:

1) Der öffentlich-rechtliche Betreiber einer großen Internetplattform bietet auch eine (recht primitive) Suchmaske (max. 5 Parameter, die ich täglich in 3 gleich bleibenden Versionern eingesetze) zur Volltext-Recherche in seinen Datenbeständen.

2) Es resultieren daraus täglich dreimal 0 - n Treffer (max. 200), die auf 0 - n Bildschirmseiten (max. 20) aufgelistet werden.

3) Diese Treffer gilt es nach bestimmten, stets gleich bleibenden Kriterien auszuwerten. D.h. mit Trefferadresse/Link lesen und nachgucken, ob darin diese Kriterien stehen. Endresultat dieser täglich 1-2 Stunden erfordernden "manuellen" Arbeit ist eine Tabelle.

Fragen:
a) Gibt es ein Standardprogramm, dem man solche Auswertungen zumindest teilweise übertragen kann?
b) Welche Sprache (JavaScript etc) wäre geeignet für eine Individuallösung dieser Aufgabe, deren Realisierung ich ggf. einem Programmierer übertragen würde.

Ein direkter Zugriff auf die Datenbestände mit intelligenter Programmierung/Auswertung wäre nicht möglich. Es muß die Internetplattform genutzt werden.


bei Antwort benachrichtigen
xafford mainframer „@xafford Bei DB2 auf Mainframe habe ich mehr als nur SQL und kann mit...“
Optionen

Ich wollte eigentlich nicht in eine Grundsatzdiskussion einsteigen, sondern nur verdeutlichen, dass eine automatisierte Auswertung wie sie Dir anscheinend vorschwebt wohl eher nicht mit einem fertigen Produkt zu leisten ist da sie anscheinend von den Bedingungen her sehr komplex ist (was durch deine jetzigen Auswertungen noch komplexer wurde), da sie offensichtlich recht viele bedingte Verzweigungen hat.

Letztendlich wirst Du ein Programm bauchen dass folgendes tut:

- Eine POST oder GET-Abfrage an den Server stellen um an die Ergebnisseite zu gelangen
- Die Seite in ein DOM parsen
- Prüfen ob es mehr als eine Ergebnisseite gibt und in diesem Fall die weiteren Ergebnisseiten holen und ebenfalls parsen
- Die geparsten Ergebnisse nach den gewünschten Werten durchsuchen
- Anhand der gefunden Ergebnisse ggf. weitere Seiten abrufen und parsen
- Die Ergebnisse für die Ausgabe aufbereiten

Hierbei gibt es dann verschiedene Probleme:

- Ist die Seitenstruktur immer gleich? Haben die Ergebnisse immer die gleiche Darstellung?
- Ändern sich die Suchbedingungen? Wenn ja, wie löst man das so flexibel dass Anpassungen leicht umzusetzen sind?
- Wie definiert man welche Seiten bedingt zusätzlich geholt werden müssen?
- Wie definiere ich, was aus den zusätzlich geholten Seiten an Information geholt werden muss ohne dass für jede Seite ein eigenes Programm notwendig ist?

Das führt zu folgendem:

- Das abholen der Seiten ist trivial, hier kann man mit libCURL arbeiten die von vielen vielen verschiedenen Programmiersprachen aus eingebunden werden kann.
- Das Parsen an sich ist auch noch relativ trivial mittels eines DOM-Parsers und man erhält einen Dokumentenbaum auf dem man anschließend arbeiten kann.
- Dann wird es komplexer und man muss sich entscheiden ob man die Logik für die Suche im Ergebnis "fest verdrahtet" oder flexibel gestaltet. Im ersten Fall muss man imme rbei Änderungen an der Art der Ausgabe der Seite das Tool umbauen, im letzteren Fall muss man im Prinzip eine eigene Abfragesprache bauen um die Suchkriterien zu definieren.
- Selbiges gilt für die Unterabfragen.

Prinzipiell kann all dies bestimmt auch von einer Software für das Screen Scraping geleistet werden. Ich gehe jedoch einmal davon aus, dass eben die Definition der Bedingungen, so wie DU sie bis jetzt geschildert hast eben fast einer "vollständigen Programmierung" gleichkommen dürfte da das was Dir wohl vorschwebt recht komplex klingt.

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen
Danke! mainframer