![]() |
Text aus Website
Hallo Allerseits,
ich möchte einen Text in ein Programm haben, der von einer Website ist, das heißt, dass sobald die Website sich ändert der neue Text dort steht. Über diesen IdHttp Komponent habe ich schon gehört, nur wie schaffe ich es dass der Text der Website und nicht der HTML Code kopiert wird? Viele Grüße Kolone |
AW: Text aus Website
Der Webserver liefert nun mal HTML-Code aus. Du musst den Code parsen, um an die für Dich wichtigen daten zu Gelangen.
|
AW: Text aus Website
Danke :) Wie genau kann man so ein Text parsen, bzw was ist die einfachste Möglichkeit so etwas zu tun?
|
AW: Text aus Website
Zitat:
Ungenau: Du mußt dich mit der ![]() |
AW: Text aus Website
|
AW: Text aus Website
Zitat:
oder sich eine private Schulung kaufen. Oder man nimmt seine weiteren (Teil)Fragen, geht damit in die Forensuche und sucht die vorhandenen Anworten raus, oder fragt geziehlt, falls es noch keine Antwort gibt. |
AW: Text aus Website
Gut, wenn man keine Hilfe hier bekommt...
-.- |
AW: Text aus Website
Was hast du denn bereits unternommen, um die gewünschte HTML-Seite auszulesen?
|
AW: Text aus Website
Ich habe ein IDHttp Komponent genommen und eine Memo, die später nicht sichbar ist. Ich weiß das ist nicht grade die Meisterlösung. Der Text der Memo ist der Quellcode der Website. Mit Pos habe ich dann versucht den HTML Befehl zu finden und somit das zu löschen was die Befehlszeilen von HTML sind, sodass nur noch der String übrigbleibt. Das ist leider nicht so die hervorragende Lösung und deswegen wollte ich wissen, ob es eine Komponente schon gibt, die eben das schon macht oder ob die IDhttp Komponente den Befehl hat nur die Strings einer HTML Seite auszulesen.
|
AW: Text aus Website
Es ist außerdem ziemlich blöd, weil im HTML Code öfters mehrmals doppelte Befehle auftauchen :)
|
AW: Text aus Website
Versuche es mal mit
![]() |
AW: Text aus Website
Zitat:
Der erste Schritt sollte sein, die Stellen, die sich ändern, bzw. ändern könnten (sofern Du es weißt) zu identifizieren. Dann such Dir eine markante Markierung dann hast Du Futter für Dein
Delphi-Quellcode:
.
pos
Eine andere Möglichkeit wäre alles zwischen '<' und '>' zu löschen, dann sollte nur noch der nackte Text übrig bleiben. Was allerdings in den allermeisten Fällen, nur noch Bedeutungshack übrig läßt. U.U. findest Du ![]() Gruß K-H |
AW: Text aus Website
Zitat:
![]() Nochmals möchte ich auf den Beitrag ![]() Und wenn man die spannende Stelle gefunden hat, dann geht das ganz einfach mit ![]() Ein Blick in die Doku lohnt auch immer ![]() und hier im Forum und bei Tante google gibt es auch reichlich Beispiele |
AW: Text aus Website
Zitat:
![]() Ich werf dann noch einmal das hier ![]() |
AW: Text aus Website
Ich hatte den Eindruck, das der TE auf Teufel komm raus, sich mit dem HTML-Text beschäftigen will, wenn es denn unbedingt sein muß sind pos und Konsorten erst einmal die Mittel der Wahl.
Je nachdem welche Seiten er auf Änderung prüfen will, würde es schon ausreichen den (Alt-)Text zu speichern und den (Neu->Text) mit ihm zu vergleichen. Solange man die entsprechenden Daten nicht kennt, ist das alles nur Spökenkiekerei. Gruß K-H |
AW: Text aus Website
Zitat:
Zitat:
Zitat:
Was meinst du mit "nur die Strings einer HTML Seite"? Eine fertige Komponente, die dir genau das heraussucht, was du benötigst, gibt es meines Wissens nach nicht. Da mußt du schon selber Hand anlegen. Hast du dich denn inzwischen ein wenig mit ![]() Hast du inzwischen einmal den Link von Sir Rufo studiert, der auf eine ![]() Zitat:
Weiter ![]() Zitat:
|
AW: Text aus Website
Delphi-Quellcode:
mit diesem code lese ich die sich die lottozahlen für ein bestimmtes datum aus.
var
RegExStr : String; // Suchbegriff RegEx : TRegEx; MatchCollection : TMatchCollection; //Speichert die gefundenen Matches i: Integer; HTTP : TIdHTTP; quelltext: String; temp_date : TDate; begin // Quelltext der Lottoseite lesen HTTP := TIdHTTP.Create(nil); try with HTTP do begin HandleRedirects := True; Request.ContentLength := -1; Request.Accept := 'text/html,*/*'; HTTPOptions := [hoForceEncodeParams]; end; temp_date := StrToDate(Datum); Datum := FormatDateTime('dd.mm.yyyy',temp_date); //ShowMessage(Datum); quelltext := HTTP.Get('http://www.sachsenlotto.de/mskp/user/lottoresults/lottoresultsshow.do?ziehungsDatum='+Datum+'#'); except on E:exception do ShowMEssage(e.Message); end; FreeAndNil(HTTP); // Mummer 1 bis 6 bekommen und speichern RegExStr := '<span class="lottonumberbig">(\d*)</span>'; RegEx := TRegEx.Create(RegExStr,[roSingleLine,roIgnoreCase]); MatchCollection := RegEx.Matches(quelltext); den code habe ich ursprünglich von einem anderen user der delphi-praxis. ich denke mit den regular expressions könntest du bei deinem problem weiterkommen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:23 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 by Thomas Breitkreuz