Hallo,
ich moechte die aktuellen Lottozahlen von der Webpage
www.lotto.de auslesen. Fur C++ Builder habe ich folgenden Code in einem anderen C++ Forum gefunden:
Code:
WebClient wc = new WebClient();
textBox1.Text = wc.DownloadString(@"http://www.lotto.de");
string regex = "<div id=\"hp649gwzLeft\">.*?<div class=\"lottonumbers\">(?:\\s+<span>([\\d]{1,2})</span>){6}";
RegexOptions options = RegexOptions.Singleline | RegexOptions.IgnoreCase;
Regex reg = new Regex(regex, options);
var m = reg.Match(textBox1.Text);
var numbers = m.Groups[1].Captures;
foreach (var n in numbers) MessageBox.Show(n.ToString());
Diesen Code hab ich folgendermassen in Delphi umgesetzt bis auf die letzten zwei Zeilen:
Code:
var RegEx : TRegEx;
RegExStr : String;
Match : TMatch;
Memo1.text := IdHttp1.Get('http://www.lotto.de/de/spielschein.html');
RegExStr := "<div id=\"hp649gwzLeft\">.*?<div class=\"lottonumbers\">(?:\\s+<span>([\\d]{1,2})</span>){6}";
RegEx := TRegEx.Create(RegExStr,[roSingleLine,roIgnoreCase]);
Match := RegEx.Match(RegExStr);
Bei den letzten beiden Zeilen im C++ Code habe ich das Problem dass es keine Property Match.Groups[1].Capture bei der Delphi Klasse gibt. Bisher wird der Quellcode der
html Seite erfolgreich geladen und das matching klappt wie ich mit einfacheren Suchstrings (z.B. RegExStr := 'Lotto') ausprobiert habe. Allerdings muss RegExStr noch getuned werden, da sich das Layout bei Lotto.de geaendert hat und der Suchstring damit nicht mehr stimmt.
Hat jemand eine Idee wie ich die zwei letzten Zeilen im C Code in Delphi umsetze? Fuer Tipps wie RegExStr fuer die aktuelle Webpage aussehen muesste waere ich auch dankbar.
Der Aktuelle Quellcode fuer die Zahlen lautet:
<div class="winning_numbers boxRow clearfix"> <h3><img src="/images/fp-c334fbe9-logo_lotto_small.gif" width="109" height="16"/></h3> <ul class="clearfix" data-bind="with: lotto6aus49()"> <li data-bind="text: zahl(1)"></li> <li data-bind="text: zahl(2)"></li> <li data-bind="text: zahl(3)"></li> <li data-bind="text: zahl(4)"></li> <li data-bind="text: zahl(5)"></li> <li data-bind="text: zahl(6)"></li> <li data-bind="
html: zusatzzahl(), visible: zusatzzahl() != null" class="last"></li> <li data-bind="
html: superzahl(), visible: superzahl() != null" class="last"></li> </ul> </div>
Ich hab keine Ahnung wie man daraus die Zahlen erhalten soll. Das sieht eher aus wie Variablen die von einem Skript gefuellt werden.
Frohe Weihnachten
Gutelo