This is an old revision of the document!
Regular Expressions und HTML-Dateien
Einführungsbeispiel
Aus einer HTML-Datei sollen die Links mit verlinktem Text extrahiert werden. Beispiel:
<a href="https://fginfo.ksbg.ch/" class="bla">Fachgruppe Informatik</a>
Der HTML-Tag <a>
definiert einen Link. Im Attribut href
steht die URL (Web-Adresse). Der verlinkte Text steht danach (beendet durch ein </a>).
Das gewünschte CSV-Format ist folgendes:
Fachgruppe Informatik;https://fginfo.ksbg.ch/
Die Idee ist natürlich, die Umwandlung in einem Aufwasch für die ganze Datei zu erledigen.
- Wir verwenden folgende HTML-Datei: page.html, die Sie bitte herunterladen und in NotePad++ öffnen.
- Löschen Sie bitte alle Zeilen, die die Zeichenkette
<a href=
nicht enthalten. Machen Sie eine Internetsuche (am besten auf Englisch), wie Sie vorgehen können. - Man stellt fest, dass es Zeilen gibt, die noch mehr als einen Link enthalten. Wir werden darum
<a href
durch\n<a href
(d.h. wir fügen einen Zeilenumbruch vor jedem link ein). Dazu muss im “Search Mode” “Extended” oder “Regular Expression” aktiviert sein. - Löschen Sie abermals die Zeilen, die
<a href
nicht enthalten. - Führen Sie nun folgende Ersetzung durch, wobei der “Search Mode” auf Regular Expression gesetzt werden muss:
- Ersetzen Sie
<a href=“(.*?)”.*?>(.*?)</a.*
durch$2;$1
. Das ist eine Regular Expression, mehr dazu später
- Man stellt fest, dass im Text noch Strichpunkte vorkommen. Diese stehen aber beim
"e;
, was für Anführungszeichen steht. Man hat jetzt zwei Möglichkeiten:- Entweder Sie ersetzen
"e;
durch“
oder - Sie machen obige Ersetzung rückgängig und ersetzen statt dessen mit
“$2”;”$1“
.
- Als letztes vervollständigen sie die Links durch
https://fginfo.ksbg.ch
durch eine geeignete Ersetzung. - Speichern Sie die Datei als
links.csv
und öffnen Sie diese mit Excel. Welches Problem gibt es noch? - Schliessen Sie Excel wieder (sonst kann die Datei
links.csv
mit Notepad++ nicht wieder gespeichert werden). - In Notepad++ und Encoding → Convert to ANSI und speichern Sie wieder.
- Öffnen Sie die Datei noch einmal mit Excel und überprüfen Sie, ob das Problem weiter besteht.
- Das Encoding gibt an, wie Buchstaben (insbesondere Sonderzeichen wie ä, é etc.) codiert, d.h. binär dargestellt werden.
- Praktisch alle Webseiten und Computersysteme verwenden heute (und schon seit langem) das universelle UTF-8, ausser natürlich Microsoft Windows
Oh no, pdf
- Übertragen Sie folgende Tabelle in Excel und überprüfen Sie die Summe: ohnopdf.pdf