vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Datum aus Website extrahieren 
Autor: thuring
Datum: 16.04.20 09:02

Hallo zusammen,

habe bisher zur Problemstellung im Internet nichts gefunden...
Ich möchte mittels Regex das erste in einer Website auftretenden Datum der Form dd.mm.yy auslesen via Seitenquelltext.
Kann bitte jemand einen Tipp geben?

Grüße- Dietrich

Salzburger

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datum aus Website extrahieren 
Autor: thuring
Datum: 16.04.20 11:20

Jetzt habe ich mal Folgendes probiert:

Dim pat As String = "^[0-3]?[0-9][/.][0-3]?[0-9][/.](?:[0-9]{2})?[0-9]{2}$"
Dim m As Match = Regex.Match(sq, pat, RegexOptions.None, New TimeSpan(0, 0, 2))
mit sq = Seitenquelltext

Aber für m kommt Nothing.

Salzburger

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datum aus Website extrahieren 
Autor: Manfred X
Datum: 16.04.20 11:28

Hallo!

Ich kenne den Aufbau Deiner HTML-Codes nicht, aber gewöhnlich stehen spezifische Werte zwischen bestimmten HTML-Tags. Allein anhand einer Ziffernfolge wirst Du ein Datum vermutlich nicht
zuverlässig identifizieren können.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datum aus Website extrahieren 
Autor: thuring
Datum: 16.04.20 11:37

Z.B. in einer WebSite:
<td align='right' nowrap style='color:#6E6A6A;'>11.12.19</td>

Aber solche Tabellenzellen gibt es etliche auf dieser Site.

Salzburger

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datum aus Website extrahieren 
Autor: Manfred X
Datum: 16.04.20 11:44

Dann filtere anhand der beiden td-Tags zunächst die Zeilen/Abschnitte heraus,
in denen eine Tabellenzelle steht (eventuell Fortsetzungs-Zeilen beachten).
https://www.regextester.com/97612
https://www.regular-expressions.info/dates.html

Beitrag wurde zuletzt am 16.04.20 um 11:46:29 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datum aus Website extrahieren 
Autor: thuring
Datum: 16.04.20 12:14

Danke für die Tipps/Links!

Kenne mich mit Regex nicht so richtig aus.
Kann man eventuell mein oben gezeigtes Pattern nicht zusätzlich als Wort definieren?
Weiß allerdings nicht die richtige Schreibweise.

Salzburger

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datum aus Website extrahieren 
Autor: Manfred X
Datum: 16.04.20 12:59

Warum muss es RegEx sein? HTML-Code ist in der Analyse heikel, weil HTML-Editoren
und Browser sehr flexibel und fehlertolerant sind. Der Code ist deshalb im Vergleich
verschiedener Seiten oft ziemlich bescheiden programmiert und uneinheitlich aufgebaut
(Sonderfälle, Leerzeichen, Tabs, Umbrüche etc.).
Ich schreibe mir gewöhnlich ein kleines angepaßtes VB-Testprogramm, um herauszufinden,
welche Überraschungen im Code geboten werden.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datum aus Website extrahieren 
Autor: thuring
Datum: 16.04.20 13:06

Das mache ich sonst auch meist so wie du, Manfred. Wollte aber mal mit Regex experimentieren.

Mittlerweile mit etwas herum probieren mit Regex habe ich es hingekriegt:
Dim pat As String = "\b[0-3]?[0-9][/.][0-3]?[0-9][/.](?:[0-9]{2})?[0-9]{2}\b"
Dim m As Match = Regex.Match(sq, pat, RegexOptions.None, New TimeSpan(0, 0, 2))

Dann ergibt sich das erste gefundene Datum im Seitenquelltext sq mit:
Dim dat As String = m.Value

Grüße-

Salzburger

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel