RoadRunner
# RoadRunner

RoadRunner ist ein Java Programm zur Beobachtung von Informationen von HTML-Seiten. Dazu werden die Gemeinsamkeiten und Unterschiede der HTML-Seiten analysiert und daraus wird, falls möglich, ein (union-freier) regulärer Ausdruck berechnet, der die Unterschiede der Dateien beschreibt. Dieser reguläre Ausdruck wird abschließend verwendet, um die Unterschiede aus den HTML-Dateien zu extrahieren. Also ist RoadRunner ein Generator, der automatisch Grammatik basierte Wrapper erzeugt.

## Beispiel

Eine Buch-Katalog Homepage bestehe aus mehreren HTML-Seiten, die eine gemeinsame Grundstruktur besitzen, wie z. B. ein einheitliches Seiten- und Tabellenlayout. Die Seiten unterscheiden sich darin, das jede Seite eine Tabelle von 1 bis 20 Einträgen zu verschiedenen Büchern enthält. Das Ziel sei nun, die Buchdaten (Autor, Titel usw.) automatisch aus den Seiten zu extrahieren.

Dafür wird eine repräsentative Menge von Katalog-Seiten heruntergeladen, welche von RoadRunner analysiert wird. Als Ausgabe erzeugt das Programm den regulären Ausdruck (ABC)+, welcher die Labels A, B und C enthält und eine XML-Datei mit den extrahierten Daten für jedes Label.

Beispiel von extrahierten Daten in Tabellenform:

| Label | Datum |
| - | - |
| A | Max Frisch |
| B | Homo Faber |
| C | 1965 |
| A | Stefan Zweig |
| B | Der Amokläufer |
| C | 1930 |

Nach einem Blick auf die extrahierten Daten kann den gefundenen Labels manuell eine Semantik zugeordnet werden:

| Label | Bedeutung |
| - | - |
| A | Autor |
| B | Titel |
| C | Jahr |
