| Autor |
Beitrag |
Ak-Alex
Gast
Erhaltene Danke: 1
|
Verfasst: Di 24.06.03 11:19
Hallo, vielleicht kann mir jemand helfen...
Ich würde gerne eine Website auswerten....Ich lade z.B. eine Seite und möchte alle Links in ein StringGrid packen....Kann mir jemand helfen?
Zuletzt bearbeitet von Ak-Alex am Di 24.06.03 17:58, insgesamt 2-mal bearbeitet
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Di 24.06.03 12:15
Hallo!
Was genau ist Dein Problem? Weißt du nicht wie man eine Datei aus dem Internet downloadet oder wie man eine HTML Datei parst oder wie man Text in ein StringGrid hinzufügt?
Gruß
Tino
|
|
Ak-Alex
Gast
Erhaltene Danke: 1
|
Verfasst: Di 24.06.03 12:20
îch weiß nicht wie ich links aus einer kompletten html datei rausfiltert!
|
|
foxy
      
Beiträge: 814
Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
|
Verfasst: Di 24.06.03 12:24
tino ich denke er meint das er alle vorhandenen Links die auf der page enthalten sind, in ein Grid reinpackt und dann die vergleicht , und irgendwas mit den links, die er relevant findet , etwas amchen kann .
wow was für ein satz 
_________________ "Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." (Linus Torvalds)
OperatingSystem Laptop (Ubuntu Hardy)
|
|
Ak-Alex
Gast
Erhaltene Danke: 1
|
Verfasst: Di 24.06.03 12:33
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 24.06.03 13:28
Dann nimm dir einen HTML-Parser! Der einfachste Weg wäre über die TWebBrowser-Komponente von Delphi. Mit der hast du Zugriff auf alle Elemente der HTML-Seite und kannst daher auch relativ bequem alle Links "<a>" suchen und in dein StringGrid eintragen lassen.
|
|
Ak-Alex
Gast
Erhaltene Danke: 1
|
Verfasst: Di 24.06.03 13:35
ja aber wie suche ich denn nach den Links <a>?
|
|
Ak-Alex
Gast
Erhaltene Danke: 1
|
Verfasst: Di 24.06.03 13:59
Mehr wie das hab ich bis jetzt noch nicht gefunden....hab keinen plan wie ich das alles anstellen soll....
Quelltext 1: 2: 3:
| NMHTTP1.Get(URL); Memo1.Text := NMHTTP1.Body; if Pos('<a', Memo1.Text) <> 0 then //naja, weiß noch nicht weiter; |
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Di 24.06.03 14:05
Na ja, eine HTML Seite zu parsen ist nicht besonders einfach. Ich würde dir empfehlen einen fertigen HTML Parser zu benutzen. Schau mal auf Torry nach.
Wenn Du es selber machen willst dann sind die Befehle Pos und Copy ganz hilfreich.
Gruß
Tino
|
|
Ak-Alex
Gast
Erhaltene Danke: 1
|
Verfasst: Di 24.06.03 14:16
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Di 24.06.03 14:22
Du darfst die Groß- / Kleinschreibung nicht bachten. Dein Code würde z. B. das hier nicht finden:
Quelltext
Schau mal in der Hilfe nach UpperCase.
Gruß
Tino
|
|
Ak-Alex
Gast
Erhaltene Danke: 1
|
Verfasst: Di 24.06.03 14:26
ich glaub ich mache mit diesem projekt dann mal später weiter....mir fehlt noch reichlich erfahrung dafür...
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Di 24.06.03 14:44
Wie gesagt: Dann benutze einfach einen fertigen HTML Parser. Diese sind meistens recht einfach zu benutzen.
Gruß
Tino
|
|
Ak-Alex
Gast
Erhaltene Danke: 1
|
Verfasst: Di 24.06.03 18:00
So, habs jetzt ganz anders und total Easy hinbekommen.....
Quelltext 1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Button2Click(Sender: TObject); var i: Integer; begin for i := 0 to Webbrowser1.OleObject.Document.links.Length - 1 do Listbox1.Items.Add(Webbrowser1.OleObject.Document.Links.Item(i)); end; |
Aber vielleicht kann mir jetzt jemand sagen wie ich einige Links rausfiltern kann....
Ich suche nämlich nur Links wie folgt: www.url.de/vieitem=0123456
Der Link ändert sich hinten nur in der nummer....
Leider sind auf der seite aber auch noch andere links wie www.bannerklick.de u.s.w.
Wie schaffe ich es also das ich nur die oben genannten urls mit der nummer raus bekomme?
|
|
Ex0rzist
      
Beiträge: 550
Win XP Prof. Mandrake 10.0
D6
|
Verfasst: Di 24.06.03 18:22
_________________ If accidentally read, induce vomitting.
|
|
Tweafis
      
Beiträge: 647
WinXP + fbsd
Delphi 5 Prof
|
Verfasst: Di 24.06.03 18:39
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| procedure TForm1.Button2Click(Sender: TObject); var i: Integer; aUrl: string; searchUrl: string;
begin searchUrl := 'http://www.url.de/viewitem=';
for i := 0 to Webbrowser1.OleObject.Document.links.Length - 1 do begin aUrl := Webbrowser1.OleObject.Document.Links.Item(i);
if Pos(aUrl, searchUrl) > 0 then Listbox1.Items.Add();
end; end; |
_________________ .: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.
|
|
Ak-Alex
Gast
Erhaltene Danke: 1
|
Verfasst: Di 24.06.03 18:46
Funktioniert leider nicht....
|
|
Ak-Alex
Gast
Erhaltene Danke: 1
|
Verfasst: Di 24.06.03 18:47
Mit der zweiten möglichkeit gehts , danke
|
|
Tweafis
      
Beiträge: 647
WinXP + fbsd
Delphi 5 Prof
|
Verfasst: Di 24.06.03 21:02
Kann garnicht gehen, ich hab vergessen bei Add was reinzuschreiben. Ansonsten sollte auch das erste gehen (Fehler gefunden, du musst aUrl und searchUrl vertauschen, der substr kommt als erstes)  (Hab den Code nicht geändert, das kannst du doch auch selbst 
_________________ .: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.
|
|
Ak-Alex
Gast
Erhaltene Danke: 1
|
Verfasst: Di 24.06.03 21:06
ja das habe ich schon direkt gesehen,,, aber die erste möglichkeit funktioniert bei mir trotzdem nicht....
|
|