![]() |
Lottozahlen von lotto.de abrufen
Hallo,
ich moechte die aktuellen Lottozahlen von der Webpage ![]()
Code:
Diesen Code hab ich folgendermassen in Delphi umgesetzt bis auf die letzten zwei Zeilen:
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());
Code:
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.
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); 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 |
AW: Lottozahlen von lotto.de abrufen
Also für den Fall, dass ich deine Frage falsch verstanden habe, diese Antwort ignorieren (ist einfach noch zu früh am Morgen).
Wenn es drum geht die Zahlen aus dem Html-Code Salat zu holen, das ist machbar. Mit Pos sucht man die Position von "text: zahl(" Mit Delete löscht man alles bist zu dem Text (Inklusive) Mit Pos sucht man die Position von ")" Mit Copy kopiert man alles bis zu der Position. Ergebnis ist eine Zahl (Zahl befindet sich ja zwischen "text: zahl(" und ")"). Das alles in einer Schleife durchlaufen lassen bis alles durch ist. Fertig. |
AW: Lottozahlen von lotto.de abrufen
Hallo Popov,
es waere schoen wenn das die gesuchten Zahlen waeren :) Aber 1,2,3,4,5,6 waren es nicht am letzten Ziehungstag. zahl(N) ist glaub ich eine Funktion die den Parameter N= 1, 2, 3, ... bekommt fuer erste, zweite, dritte,... Zahl der Ziehung. Die Funktion liefert dann den Wert zurueck. Das wird sozusagen vom Browser erledigt. Es gibt ja fuer jedes Bundesland eine Lotto-Seite. Bei lotto-sachsen stehen die Ziehungszahlen schoen im klartext im html ohne dieses bescheuerte JavaScript. Ich muss mich nur noch in die RegEx Ausdruecke reinpfrimeln. Gutelo |
AW: Lottozahlen von lotto.de abrufen
Ok, wie gesagt, ist noch zu früh.
Also wenn das so nicht geht, dann entweder die Funktionen selbst auswerten oder den Browsertext filtern. |
AW: Lottozahlen von lotto.de abrufen
Auch wenn es anders geht, wuerde ich doch gerne wissen wie man das generell machen kann wenn Javascript verwendet wird.
|
AW: Lottozahlen von lotto.de abrufen
Ich hatte mir die Lottozahlen damals von einer anderen Seite runtergeladen.
Ohne nachzugucken kann ich dir auswendig aber nicht mehr sagen wo das war... |
AW: Lottozahlen von lotto.de abrufen
Liste der Anhänge anzeigen (Anzahl: 2)
Als ich letztes Jahr meine Lottoanwendung zusammengestrickt hatte, nahm ich mir viel Zeit, um die besten Aktualisierungsseiten herauszufinden und die Orte, wo man das Ganze auch ohne HTML-Parserei runterladen kann.
Fazit: Es gibt zwar CSV- und Excel-Archive zum Runterladen, aber die werden wohl nicht immer zeitnah gepflegt. Ich hab mich dann nach vielem Herumprobieren für ![]() |
AW: Lottozahlen von lotto.de abrufen
Danke Perlsau,
ich hab jetzt eine erste Rumpfimplementation. Fuer diejenigen die es interessiert hier das Grundgeruest:
Code:
Das Datum in der URL kann gegen jedes beliebiges Datum von vergangenen Ziehungen ausgetauscht werden und man erhaelt so alle Zahlen von 1955 bis heute.
procedure TMainForm.Button2Click(Sender: TObject);
var sl: TStringList; // Store Webpage Source Code RegExStr : String; // Search Expression RegEx : TRegEx; // Expression Evaluation Class MatchCollection : TMatchCollection; //Store all Determined Matches i: Integer; LottoNumbers : String; begin // Read Lotto Webpage sl:=TStringList.Create; sl.Text := IdHttp1.Get('http://www.sachsenlotto.de/mskp/user/lottoresults/lottoresultsshow.do?ziehungsDatum=18.12.2013#'); // Get numbers 1 to 6 and store them in MatchCollection RegExStr := '<span class="lottonumberbig">(\d*)</span>'; RegEx := TRegEx.Create(RegExStr,[roSingleLine,roIgnoreCase]); MatchCollection := RegEx.Matches(sl.text); // if six numbers found then plot results if MatchCollection.Count = 6 then begin LottoNumbers := 'Zahlen: '; for i := 1 to 6 do begin LottoNumbers := LottoNumbers + MatchCollection.Item[i-1].Groups[1].Value + ', '; end; Showmessage(LottoNumbers); end else begin Showmessage('Error: No Lotto numbers found!'); end; // Get Superzahl and store it in MatchCollection RegExStr := '<span class="extralottonumberbig">(\d*)</span>'; RegEx := TRegEx.Create(RegExStr,[roSingleLine,roIgnoreCase]); MatchCollection := RegEx.Matches(sl.text); // if one number found then plot Superzahl if MatchCollection.Count = 1 then begin Showmessage('Superzahl: ' + MatchCollection.Item[0].Groups[1].Value); end; end; Viel Spass damit Gutelo |
AW: Lottozahlen von lotto.de abrufen
Ich will ja kein Spielverderber sein, aber hat sich mal jemand bei den Anbietern erkundigt, ob solch eine Vorgehensweise rechtens ist?
Ich zitiere hier mal exemplarisch aus den Nutzerhinweisen von ![]() Zitat:
|
AW: Lottozahlen von lotto.de abrufen
Das Hinweis ist völlig richtig und natürlich wird sich jeder Entwickler mit der Frage befassen müssen, ob er die gewünschten Inhalte überhaupt nutzen darf. Sofern es sich um die reinen Lotto-Zahlen handelt, mag es sein, dass deren Verwendung durch "öffentliche Information und Berichterstattung" abgedeckt ist, aber selbst das sollte man sich kurz bestätigen lassen.
|
AW: Lottozahlen von lotto.de abrufen
Meiner Ansicht stellt privates Speichern der Daten eine "urheberrechtlich zulässige und erlaubte Verwendung" dar: Keine kommerzielle Verwendung, kein Schaden für die Lottogesellschaft. Ob ich die Daten jetzt zweimal die Woche abtippe, um sie in der DB zu archivieren, oder automatisch eintragen lasse, dürfte keine Rolle spielen.
Zitat:
Zitat:
|
AW: Lottozahlen von lotto.de abrufen
Man muss gar nicht weit gucken, bis man "brutalste" Auslegungen von "kommerzielle Verwendung" findet, die nur deswegen greifen können, weil sich der Entwickler vorher entweder gar keine Gedanken gemacht hat oder sich leichtfertig auf die "persönliche Meinung" eines anonymen Foren-Teilnehmers verlassen hat.
Ja, man sollte jedem Entwickler das Spiel gründlich verderben - nämlich das Spiel, jegliche Daten leichtfertig zu verwenden. Erst den Betreiber eines Dienstes kontaktieren bzw. sich Informationen beschaffen, dann dessen Daten nutzen. So und nicht anders muss die Reihenfolge lauten, wenn man abgesichert sein möchte. |
AW: Lottozahlen von lotto.de abrufen
Zitat:
Ob ich die Daten jetzt abtippe oder sie automatisiert eintragen lasse, dürfte niemanden außer vielleicht Vagtler interessieren. Ich bearbeite beim Auslesen lediglich ein Dokument, das sich auf meiner Festplatte befindet, nachdem ich ganz legal (wo sollte da auch was illegales sein?) die Seite angewählt habe, wodurch sie in meinem Browser-Cache landet. Also wirklich, man kann's auch übertreiben! |
AW: Lottozahlen von lotto.de abrufen
Dann freu Dich. Aber unterlasse die Angriffe auf andere Mitglieder bzw. die Unterstellungen!
|
AW: Lottozahlen von lotto.de abrufen
Zitat:
Zitat:
|
AW: Lottozahlen von lotto.de abrufen
Zitat:
|
AW: Lottozahlen von lotto.de abrufen
Zitat:
Zitat:
Zitat:
Zitat:
|
AW: Lottozahlen von lotto.de abrufen
Ich mache doch nichts anderes als die Webseite abzurufen. Ist etwa das pure abspeichern von Webseiten auch schon verboten in Deutschland?
Und ich wuesste nicht dass Lottozahlen als 'besondere' Zahlen patentrechtlich geschuetzt sind. Der AGB Teil bezieht sich mit Recht auf alles moegliche auf der Webpage wie Graphiken etc. aber sicher nicht auf die Zahlen. |
AW: Lottozahlen von lotto.de abrufen
Einfach nur kindisch! Und Tschüß ...
Zitat:
|
AW: Lottozahlen von lotto.de abrufen
Gemach - gemach ...
Das erste Beispiel, wie "kommerzielle Nutzung" definiert werden kann, haben wir hier in der DP. Als Besitzer einer akademischen Lizenz darf ich meine Programme hier nicht veröffentlichen - nicht einmal kostenfrei, weil dies als "Eigenwerbung" gewertet wird. Vom Grundsatz her sind wir doch gar nicht so weit auseinander, im Allgemeinen muss ich fragen, bevor ich etwas verwenden darf. Nicht mehr und nicht weniger wollte ich deutlich machen. Und das ganze Klein-Klein und die Wortklauberei lassen wir besser mal. |
AW: Lottozahlen von lotto.de abrufen
Zitat:
Zitat:
[QUOTE] Gleiches gilt für die Inhalte, soweit diese nicht ausdrücklich für die öffentliche Information und Berichterstattung und deren Weiterverbreitung vorgesehen sind bzw. wenn deren Nutzung über die urheberrechtlich zulässige und erlaubte Verwendung hinausgeht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz