In den vergangenen Jahren wurden viele Versuche unternommen im Internet verfügbare Webseiten automatisch in verschiedenste Kategorien einzuteilen. Dabei war das bisherige Vorgehen dadurch geprägt diese Webseiten anhand ihrer Inhalte in Klassen von Angeboten zu kategorisieren. Solche Kategorien bzw. Klassen sind beispielsweise Universitäts-Seiten, die Internet-Auftritte von Unternehmen, Webshops, Web-Suchmaschinen, \Adressverzeichnisse usw. Dazu bediente man sich verschiedenster Vorgehensweisen, wie der Analyse der Hyperlink-Struktur innerhalb der Website und den ein- und ausgehenden Verbindungen, oder den in den Webseiten enthaltenen Informationen der Meta-Tags. Diese Einteilungen sollten vornehmlich Anbietern von Suchdiensten im World Wide Web (WWW) dienen um kategorisierte Ergebnisse für Suchanfragen liefern zu können. Darüber hinaus wurden auch einige Anstrengungen unternommen auf automatische Weise textbasierte Zusammenfassungen von Webseiten zu erstellen um die Seiten dadurch kompakt und möglichst aussagekräftig zu beschreiben.
Die vorliegende Arbeit beschäftigt sich ebenfalls mit Bestandteilen von Webseiten, jedoch nicht mit dem Ziel Webseiten zusammenfassen oder zu versuchen ihre Inhalte zu verstehen, sondern damit so genannte "Fingerabdrücke" von ihnen zu erstellen. Ein Fingerabdruck ist eine abstrakte Repräsentation einer Webseite, basierend auf ausgewählten Bestandteilen des ihr zu Grunde liegenden Hypertext Markup Language (HTML) Codes. Mit Hilfe des Fingerabdrucks einer bestimmten Webseite soll es einem Computer ermöglicht werden diese Webseite automatisiert wiederzuerkennen, sowie mit dieser Webseite inhaltlich vergleichbare Seiten als solche zu identifizieren indem die Fingerabdrücke der betreffenden Webseiten miteinander verglichen werden. Als Anwendungsszenario für diese Technologie dient die automatische Navigation durch Webseiten zur Extraktion von Inhalten. Es gibt eine große Anzahl von so genannten Webcrawlern, häufig auch als Wrapper bezeichnet, deren Aufgabe darin besteht automatisch durch verschiedene Webseiten zu navigieren um dort bestimmte Inhalte strukturiert zu extrahieren. Die vorgestellte Anwendung versteht sich als Erweiterung eines Webcrawlers, die dazu in der Lage ist vom Wrapper zu bearbeitende Webseiten mittels ihrer Repräsentation als Fingerabdruck zu speichern. Ein Wrapper hat im Allgemeinen mehrere unterschiedliche Webseiten in einer ganz bestimmten Reihenfolge zu bearbeiten für die jeweils genau definierte Regeln zu Navigations- oder Extraktionsschritten festgelegt sind. Entspricht die Reihenfolge der aufgerufenen Webseiten während der Abarbeitung des Webcrawlers nicht der vorgesehenen Sequenz können die an diesem Punkt der Abfolge vorgesehenen Mechanismen zur Navigation oder Extraktion nicht mehr angewendet werden. Um eine Fortführung des Webcrawlers jedoch trotzdem zu ermöglichen wird von der zu diesem Zeitpunkt offenbar "falschen" Webseite ein Fingerabdruck erstellt und dieser mit den Fingerabdrücken der als bekannt gespeicherten Webseiten verglichen. Dieser "Pool der bekannten Webseiten" wurde vom Entwickler während der Erstellung des Wrappers angelegt und enthält Beispiele der vom Wrapper zu bearbeitenden Webseiten. Mit Hilfe eines Punktesystems wird festgestellt mit welcher Webseite der im sog. "Pool" gespeicherten die verglichene Webseite die größten Gemeinsamkeiten aufweist um jene Extraktions- oder Navigationsmechanismen aktivieren zu können, die für diese Art von Webseite vorgesehen sind.
Die Erstellung und der Vergleich von Fingerabdrücken wurde in einer Java-Applikation umgesetzt und verschiedene Tests haben gezeigt, dass die gewünschte Funktionalität gegeben ist, denn jeder durchgeführte Vergleich hat ein korrektes Ergebnis geliefert. Trotzdem jedoch hat die Applikation noch großes Verbesserungs- und Erweiterungspotential, dies betrifft vor allem die Ausweitung der verwendeten HTML-Komponenten sowie die Optimierung des verwendeten Punktesystems.
Als Basis für die durchgeführten Analysen und Tests dienten acht Websites die es ermöglichen online Hotelzimmer zu buchen.
Die erstellte Applikation ist der Arbeit beigefügt.
Over the past few years, numerous attempts to categorize webpages automatically have been described. Such categories are for example University-Websites, Company-Websites, Onlineshops, Web-Search engines and so on. To achieve this, many different approaches where proposed, such as analysing the hyperlink structure within a website and the connections to and from a webpage, or the information contained in the Meta-Tags of a webpage. This kind of categorization should mainly help search-engine operators of the World Wide Web (WWW) to be able to present categorized results of their searches. Besides that there were also quite some efforts to find ways to automatically summarize webpages to be able to describe these webpages as compact and meaningful as possible.
The present work also deals with contents of websites, but not with the goal to summarize or understand its contents, but to produce a so called "fingerprint" of them. A fingerprint is an abstract representation of a webpage based on selected components of the underlying Hypertext Markup Language (HTML) code. With the fingerprint of a certain webpage a computer shall be enabled to recognize this webpage in an automated manner, as well as webpages which have comparable contents and are to be viewed as alike, just by comparing the fingerprints of the webpages in question. The application scenario of this approach is the automated navigation through webpages to extract data. There is a great number of webcrawlers, often called wrappers, whose task is to automatically navigate through different webpages to extract some information of interest. The proposed application is to be viewed as an extension to a webcrawler that gives it the ability to save representations of webpages the wrapper has to deal with, as fingerprints. Generally a wrapper has to handle several different webpages in a very strict order and has well defined rules of navigation or extraction for each one of these webpages. If the sequence of called webpages during execution-time does not correspond to the scheduled order, the intended mechanisms for navigation or extraction cannot be executed at this point. To be able to keep up execution of a wrapper a fingerprint of the at this point "wrong" webpage is made to compare it with the fingerprints of those webpages which have been saved as "known webpages" before. This "pool of known webpages" has been created by the developer during developing the wrapper and contains examples of webpages a wrapper has to deal with. By using a scoring system it is being determined which one of the webpages contained in this "pool" has the most similarities with the webpage being compared, to be able to activate those navigation and extraction mechanisms which are intended for this kind of webpage.
Creation and comparison of fingerprints were implemented as a java application and several tests have shown that the desired functionality has been achieved, as every webpage comparison had correct results. Still the application can be improved in many ways, mainly by considering more HTML-components of webpages and by optimizing the scoring system.
All analysis and tests were based on eight websites which enable their users to book hotelrooms online.
The developed application is attached to this work.
In den vergangenen Jahren wurden viele Versuche unternommen im Internet verfügbare Webseiten automatisch in verschiedenste Kategorien einzuteilen. Dabei war das bisherige Vorgehen dadurch geprägt diese Webseiten anhand ihrer Inhalte in Klassen von Angeboten zu kategorisieren. Solche Kategorien bzw. Klassen sind beispielsweise Universitäts-Seiten, die Internet-Auftritte von Unternehmen, Webshops, Web-Suchmaschinen, \Adressverzeichnisse usw. Dazu bediente man sich verschiedenster Vorgehensweisen, wie der Analyse der Hyperlink-Struktur innerhalb der Website und den ein- und ausgehenden Verbindungen, oder den in den Webseiten enthaltenen Informationen der Meta-Tags. Diese Einteilungen sollten vornehmlich Anbietern von Suchdiensten im World Wide Web (WWW) dienen um kategorisierte Ergebnisse für Suchanfragen liefern zu können. Darüber hinaus wurden auch einige Anstrengungen unternommen auf automatische Weise textbasierte Zusammenfassungen von Webseiten zu erstellen um die Seiten dadurch kompakt und möglichst aussagekräftig zu beschreiben.
Die vorliegende Arbeit beschäftigt sich ebenfalls mit Bestandteilen von Webseiten, jedoch nicht mit dem Ziel Webseiten zusammenfassen oder zu versuchen ihre Inhalte zu verstehen, sondern damit so genannte "Fingerabdrücke" von ihnen zu erstellen. Ein Fingerabdruck ist eine abstrakte Repräsentation einer Webseite, basierend auf ausgewählten Bestandteilen des ihr zu Grunde liegenden Hypertext Markup Language (HTML) Codes. Mit Hilfe des Fingerabdrucks einer bestimmten Webseite soll es einem Computer ermöglicht werden diese Webseite automatisiert wiederzuerkennen, sowie mit dieser Webseite inhaltlich vergleichbare Seiten als solche zu identifizieren indem die Fingerabdrücke der betreffenden Webseiten miteinander verglichen werden. Als Anwendungsszenario für diese Technologie dient die automatische Navigation durch Webseiten zur Extraktion von Inhalten. Es gibt eine große Anzahl von so genannten Webcrawlern, häufig auch als Wrapper bezeichnet, deren Aufgabe darin besteht automatisch durch verschiedene Webseiten zu navigieren um dort bestimmte Inhalte strukturiert zu extrahieren. Die vorgestellte Anwendung versteht sich als Erweiterung eines Webcrawlers, die dazu in der Lage ist vom Wrapper zu bearbeitende Webseiten mittels ihrer Repräsentation als Fingerabdruck zu speichern. Ein Wrapper hat im Allgemeinen mehrere unterschiedliche Webseiten in einer ganz bestimmten Reihenfolge zu bearbeiten für die jeweils genau definierte Regeln zu Navigations- oder Extraktionsschritten festgelegt sind. Entspricht die Reihenfolge der aufgerufenen Webseiten während der Abarbeitung des Webcrawlers nicht der vorgesehenen Sequenz können die an diesem Punkt der Abfolge vorgesehenen Mechanismen zur Navigation oder Extraktion nicht mehr angewendet werden. Um eine Fortführung des Webcrawlers jedoch trotzdem zu ermöglichen wird von der zu diesem Zeitpunkt offenbar "falschen" Webseite ein Fingerabdruck erstellt und dieser mit den Fingerabdrücken der als bekannt gespeicherten Webseiten verglichen. Dieser "Pool der bekannten Webseiten" wurde vom Entwickler während der Erstellung des Wrappers angelegt und enthält Beispiele der vom Wrapper zu bearbeitenden Webseiten. Mit Hilfe eines Punktesystems wird festgestellt mit welcher Webseite der im sog. "Pool" gespeicherten die verglichene Webseite die größten Gemeinsamkeiten aufweist um jene Extraktions- oder Navigationsmechanismen aktivieren zu können, die für diese Art von Webseite vorgesehen sind.
Die Erstellung und der Vergleich von Fingerabdrücken wurde in einer Java-Applikation umgesetzt und verschiedene Tests haben gezeigt, dass die gewünschte Funktionalität gegeben ist, denn jeder durchgeführte Vergleich hat ein korrektes Ergebnis geliefert. Trotzdem jedoch hat die Applikation noch großes Verbesserungs- und Erweiterungspotential, dies betrifft vor allem die Ausweitung der verwendeten HTML-Komponenten sowie die Optimierung des verwendeten Punktesystems.
Als Basis für die durchgeführten Analysen und Tests dienten acht Websites die es ermöglichen online Hotelzimmer zu buchen.
Die erstellte Applikation ist der Arbeit beigefügt.
Over the past few years, numerous attempts to categorize webpages automatically have been described. Such categories are for example University-Websites, Company-Websites, Onlineshops, Web-Search engines and so on. To achieve this, many different approaches where proposed, such as analysing the hyperlink structure within a website and the connections to and from a webpage, or the information contained in the Meta-Tags of a webpage. This kind of categorization should mainly help search-engine operators of the World Wide Web (WWW) to be able to present categorized results of their searches. Besides that there were also quite some efforts to find ways to automatically summarize webpages to be able to describe these webpages as compact and meaningful as possible.
The present work also deals with contents of websites, but not with the goal to summarize or understand its contents, but to produce a so called "fingerprint" of them. A fingerprint is an abstract representation of a webpage based on selected components of the underlying Hypertext Markup Language (HTML) code. With the fingerprint of a certain webpage a computer shall be enabled to recognize this webpage in an automated manner, as well as webpages which have comparable contents and are to be viewed as alike, just by comparing the fingerprints of the webpages in question. The application scenario of this approach is the automated navigation through webpages to extract data. There is a great number of webcrawlers, often called wrappers, whose task is to automatically navigate through different webpages to extract some information of interest. The proposed application is to be viewed as an extension to a webcrawler that gives it the ability to save representations of webpages the wrapper has to deal with, as fingerprints. Generally a wrapper has to handle several different webpages in a very strict order and has well defined rules of navigation or extraction for each one of these webpages. If the sequence of called webpages during execution-time does not correspond to the scheduled order, the intended mechanisms for navigation or extraction cannot be executed at this point. To be able to keep up execution of a wrapper a fingerprint of the at this point "wrong" webpage is made to compare it with the fingerprints of those webpages which have been saved as "known webpages" before. This "pool of known webpages" has been created by the developer during developing the wrapper and contains examples of webpages a wrapper has to deal with. By using a scoring system it is being determined which one of the webpages contained in this "pool" has the most similarities with the webpage being compared, to be able to activate those navigation and extraction mechanisms which are intended for this kind of webpage.
Creation and comparison of fingerprints were implemented as a java application and several tests have shown that the desired functionality has been achieved, as every webpage comparison had correct results. Still the application can be improved in many ways, mainly by considering more HTML-components of webpages and by optimizing the scoring system.
All analysis and tests were based on eight websites which enable their users to book hotelrooms online.
The developed application is attached to this work.