Autor Beitrag
Ak-Alex
Gast
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: 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



BeitragVerfasst: Di 24.06.03 12:20 
îch weiß nicht wie ich links aus einer kompletten html datei rausfiltert!
foxy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 814

Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
BeitragVerfasst: 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 :rofl:

_________________
"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



BeitragVerfasst: Di 24.06.03 12:33 
ja genau
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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



BeitragVerfasst: Di 24.06.03 13:35 
ja aber wie suche ich denn nach den Links <a>?
Ak-Alex
Gast
Erhaltene Danke: 1



BeitragVerfasst: 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....


ausblenden Quelltext
1:
2:
3:
NMHTTP1.Get(URL);
Memo1.Text := NMHTTP1.Body;
if Pos('<a', Memo1.Text) <> 0 then //naja, weiß noch nicht weiter;
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: 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



BeitragVerfasst: Di 24.06.03 14:16 
Ja ist schon nicht einfach...aber komme schon näher
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Button2Click(Sender: TObject);

var
  a, b: integer;
Begin
  a:=Pos('<a href=', Memo1.Text);
  b:=Pos('/a>', Memo1.Text);
  ShowMessage(Copy(Memo1.Text, a+1, b-1-a));

End;


Moderiert von user profile iconTino: Code- durch Delphi-Tags ersetzt.
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Di 24.06.03 14:22 
Du darfst die Groß- / Kleinschreibung nicht bachten. Dein Code würde z. B. das hier nicht finden:
ausblenden Quelltext
1:
<A HREF="KJLJJ"></A>					

Schau mal in der Hilfe nach UpperCase.

Gruß
Tino
Ak-Alex
Gast
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: 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



BeitragVerfasst: Di 24.06.03 18:00 
So, habs jetzt ganz anders und total Easy hinbekommen.....


ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 550

Win XP Prof.
Mandrake 10.0

D6
BeitragVerfasst: Di 24.06.03 18:22 
Schau mal hier

_________________
If accidentally read, induce vomitting.
Tweafis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 647

WinXP + fbsd
Delphi 5 Prof
BeitragVerfasst: Di 24.06.03 18:39 
Ak-Alex hat folgendes geschrieben:
Ich suche nämlich nur Links wie folgt: www.url.de/vieitem=0123456


ausblenden 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();

    { kann auch so gemacht werden:

    if Copy(aUrl, 1, length(searchUrl)) = searchUrl 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



BeitragVerfasst: Di 24.06.03 18:46 
Funktioniert leider nicht....
Ak-Alex
Gast
Erhaltene Danke: 1



BeitragVerfasst: Di 24.06.03 18:47 
Mit der zweiten möglichkeit gehts , danke
Tweafis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 647

WinXP + fbsd
Delphi 5 Prof
BeitragVerfasst: 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



BeitragVerfasst: Di 24.06.03 21:06 
ja das habe ich schon direkt gesehen,,, aber die erste möglichkeit funktioniert bei mir trotzdem nicht....
Ist die Frage beantwortet? Das Problem gelöst?

Dann klicke hier, um das Thema entsprechend zu markieren!