AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Text aus Website

Ein Thema von Kolone · begonnen am 16. Jun 2014 · letzter Beitrag vom 23. Jun 2014
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Puke
Puke

Registriert seit: 7. Nov 2012
123 Beiträge
 
Delphi XE5 Architect
 
#11

AW: Text aus Website

  Alt 20. Jun 2014, 11:04
Versuche es mal mit Delphi-Referenz durchsuchenStringReplace
Gruß Puke
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#12

AW: Text aus Website

  Alt 20. Jun 2014, 11:37
Es ist außerdem ziemlich blöd, weil im HTML Code öfters mehrmals doppelte Befehle auftauchen
??? Mir scheint Du hast dich noch nicht alzu oft mit HTML auseinander gesetzt.

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 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 hier noch ein paar Infos, die Dir weiterhelfen.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#13

AW: Text aus Website

  Alt 20. Jun 2014, 12:23
Es ist außerdem ziemlich blöd, weil im HTML Code öfters mehrmals doppelte Befehle auftauchen
??? Mir scheint Du hast dich noch nicht alzu oft mit HTML auseinander gesetzt.

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 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 hier noch ein paar Infos, die Dir weiterhelfen.

Gruß
K-H
Wer mit Delphi-Referenz durchsuchenPos an eine HTML Datei dran will, der hat sich aber auch nicht sehr oft mit HTML auseinandergesetzt

Nochmals möchte ich auf den Beitrag http://www.delphipraxis.net/88200-ht...-einlesen.html verweisen, da wird eine HTML Datei auseinandergenommen.

Und wenn man die spannende Stelle gefunden hat, dann geht das ganz einfach mit
IHTMLElement.innerText

Ein Blick in die Doku lohnt auch immer
IHTMLDocument2 Interface
und hier im Forum und bei Tante google gibt es auch reichlich Beispiele
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (20. Jun 2014 um 12:30 Uhr)
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Text aus Website

  Alt 20. Jun 2014, 13:11
Wer mit Delphi-Referenz durchsuchenPos an eine HTML Datei dran will, der hat sich aber auch nicht sehr oft mit HTML auseinandergesetzt
Ja, oder so intensiv, da klar ist, dass man die gewünschte Stelle tatsächlich mit Delphi-Referenz durchsuchenPos eindeutig finden kann.

Ich werf dann noch einmal das hier Klasse für HTML-Dokument ins Rennen
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#15

AW: Text aus Website

  Alt 20. Jun 2014, 13:27
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
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#16

AW: Text aus Website

  Alt 20. Jun 2014, 17:46
Ich habe ein IDHttp Komponent genommen und eine Memo, die später nicht sichbar ist. ... Der Text der Memo ist der Quellcode der Website.
Da nimmt man besser eine Stringliste, da du das Memo ja sowieso nicht anzeigen lassen möchtest.

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.
Versucht hießt soviel wie mißlungen? Könntest du dich vielleicht ein wenig deutlicher ausdrücken? Am besten, du zeigst hier einmal, was du gemacht hast, und erklärst, was dabei herauskommt bzw. welche Fehlermeldungen erscheinen.

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.
Es gibt sog. HTML-Parser, aber die sind auch nicht leichter zu bedienen als das Delphi-Bordwerkzeug. Die meisten Freeware-Parser, die ich schon ausprobiert hatte, waren buggy, und die guten kosten wohl eine Stange Geld, denn so ein HTML-Parser ist kein Kinderspiel.

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 der Sprache und der Syntax von HTML befaßt?

Hast du inzwischen einmal den Link von Sir Rufo studiert, der auf eine ähnliche Anfrage hier im Forum verweist?

Es ist außerdem ziemlich blöd, weil im HTML Code öfters mehrmals doppelte Befehle auftauchen
In deinem Programm kommen doch auch einige Befehle öfter vor, oder etwa nicht? HTML-Code ist auch nichts anderes als ein Programmcode. Was soll daran blöd sein? Welche Schwierigkeiten hast du konkret damit?

Weiter oben hattest du geschrieben:
Gut, wenn man keine Hilfe hier bekommt...
Wenn du dich weiterhin so unkooperativ zeigst und auf hilfreiche Beiträge nicht eingehst bzw. die angebotene Hilfe nicht annimmst, kann dir leider nicht geholfen werden – außer es findet sich einer, der dir deinen Code hier reinschreibt, was eher unwahrscheinlich ist, denn man weiß ja so gut wie nichts darüber, was du eigentlich genau machen möchtest, nicht einmal die URL zu der Seite, die du auszulesen gedenkst.
  Mit Zitat antworten Zitat
machstuhl

Registriert seit: 17. Jul 2012
40 Beiträge
 
#17

AW: Text aus Website

  Alt 23. Jun 2014, 17:22
Delphi-Quellcode:
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);
mit diesem code lese ich die sich die lottozahlen für ein bestimmtes datum aus.
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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz