Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Website einlesen (https://www.delphipraxis.net/68302-website-einlesen.html)

meg91 27. Apr 2006 16:13


Website einlesen
 
Hey
brauch ma wieder eure Hilfe und zwar:
mein Programm soll ein Suchbegriff mit einer Suchmaschine im Web suchen lassen und nacher die Ergebnisse wieder selbst (also in meinem Prog) darstelen, und das ganze möglichst ohne dass man den IE oder sonst was sieht

Wie muss ich das ganze angehen hab leider keinen Plan?

mkinzler 27. Apr 2006 16:15

Re: Website einlesen
 
Du könntest die Anfrage per INDY stellen und dann das Ergebnis parsen.

DP-Maintenance 27. Apr 2006 16:19

DP-Maintenance
 
Dieses Thema wurde von "sakura" von "Object-Pascal / Delphi-Language" nach "Internet / LAN / ASP.NET" verschoben.

meg91 27. Apr 2006 16:22

Re: Website einlesen
 
ich will das dann in meinem Prog gar nicht als website darstellen, sondern nur die Suchergebnisse in einem Memo oder so anzeigen

könntest du bitte etwas genauer sagen was du unter indy verstehst, denn ich hab keine Ahnung was das sein soll

Klaus01 27. Apr 2006 16:31

Re: Website einlesen
 
Die Indy Komponenten Tidhttp zu Beispiel.
Hier in der DP solltest Du schon Beispiele zu dem
finden was Du vorhast.

Grüße
Klaus

meg91 27. Apr 2006 16:37

Re: Website einlesen
 
welche Unit muss ich dafür einbinden damit des klappt?

Flare 27. Apr 2006 16:40

Re: Website einlesen
 
Eigentlich keine, da es die Komponente automatisch macht.
Indi sind Komponenten...


Flare

meg91 27. Apr 2006 16:43

Re: Website einlesen
 
und wie muss dass dann konkret aussehen?
kann jemand vllt ein codeschnipsel posten
wäre sehr dankbar

Sixfold 27. Apr 2006 17:17

Re: Website einlesen
 
Ich würde das gaqnze mit einer Action-List lösen.
Du erstellst eine ActionList auf deiner Form, doppelklickst drauf und drückst dann Strg+Einfügen.
In dem neuen Fenster wählst du dann "TDownLoadURL" aus der Kategorie "Internet" aus.
Jetzt kannst du die Parameter im Object Inspector angeben und mit
Delphi-Quellcode:
DownLoadURL1.Execute;
die Datei herunterladen.

MfG Fabian

meg91 27. Apr 2006 21:03

Re: Website einlesen
 
Interessante Idee werd ich mal weiter verfolgen
nur hab ich noch bedenken ob das dann auch wirklich das ergebniss der Suchanfrage ist, was ich da abspeichere

Flare 27. Apr 2006 21:13

Re: Website einlesen
 
Du wirst dann die gesamte Internetseite abspeichern, die du als Ergebnis (natürlich geparsed) auch im Internetexplorer oder sonstigem Browser sehen wirst. Deine Aufgabe besteht also dann darin, aus dem Code das herauszufiltern, was du wirklich brauchst.


Flare

meg91 27. Apr 2006 21:32

Re: Website einlesen
 
hab das grad ma ausprobiert nur speichert der bei mir nix ab
es öffnet sich nur der IE mit eingtragener URL

Sixfold 28. Apr 2006 16:37

Re: Website einlesen
 
dann hast du TBrowseURL genommen statt TDownloadURL.
MfG

meg91 2. Mai 2006 08:12

Re: Website einlesen
 
nein hab ich nicht

Delphi-Quellcode:
DownLoadURL1.URL := 'http://www.metager2.de/search/index.php?q=test';
DownLoadURL1.Execute;
und es öffnet sich trotzdem nur der Browser

kann man beid den Eigenschaften der Action irgendwas falsch einstellen oder was sollte man da eintragen?

SnuffMaster23 2. Mai 2006 09:22

Re: Website einlesen
 
Hmm, schön dass da schon einer meine Frage gestellt hat :D.

Nee mal ernsthaft: Sowas ähnliches hab ich auch vor, nur nicht mit Suchmaschinen.
Ginge das nicht auch mit TIdHTML? Ich bräuchte das Ganze nämlich mit Cookies (Ich weiß, TIdCookieManager :) )
TIdDownloadURL macht mir ja sowieso ne Datei, die brauch ich gar nicht und meg91 wahrscheinlich auch nicht.

@meg91: So wird das auch nicht funktionieren, mit den Angaben würde ich auch nichts runterladen :mrgreen:
Du musst die Eigenschaft FileName noch zuweisen und statt Execute ExecuteTarget aufrufen (so funktionierts bei mir jedenfalls). Als Parameter übergibst du ein beliebiges Objekt, z.B. die Form (nil tuts auch).

//roter Kasten: Mit Actions hab ichs nicht so, ich mach das lieber manuell über Code, zumal bei mir das automatisch gehen soll.

//Edit: Hier noch etwas Code für dich:
Delphi-Quellcode:
Download1          := TDownLoadURL.Create(Form1);
Download1.URL     := 'http://SnuffMaster23.wspace.org/smileys/TinkPink.gif';
Download1.Filename := 'test.gif';
Download1.ExecuteTarget(nil);
//Edit: So einfach gehts mit TIdHTTP:
Delphi-Quellcode:
var Page: TStringList;
...
Page := TStringList.Create;
...
Page.Text := IdHTTP1.Get('www.sonstwas.de');

meg91 2. Mai 2006 11:22

Re: Website einlesen
 
also das mit dem TDownLoadURL funzt bei mir einfach nicht
es öffnet sich immer nur der IE mit meiner Startseite da wird nix abgespeichert
nicht mal die URl ruft er auf

kann es vllt daran liegen, dass ich Firefox als Standard Browser hab?

Oder welche Unit muss ich einbinden, damit ich IdHTTP1.Get nutzen kann, ich bekomm da imm sowas:
[Fehler] Unit1.pas(932): E2003 Undefinierter Bezeichner: 'IdHTTP1'

SnuffMaster23 2. Mai 2006 11:29

Re: Website einlesen
 
Bau doch einfach die Kompo über den GUI-Designer ein.
Aber wenns dich interessiert, bei mir hats dabei folgende Units eingebunden:
Zitat:

Zitat von Delphi
IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, IdBaseComponent,
IdCookieManager

Wobei IdCookieManager kommt, wenn du TIdCookieManager benutzt.

Ich hab Mozilla als Standardbrowser, mit DownloadURL geht nichts auf.

//Edit: Mann bin ich heut zerstreut... Die Kompo findest du bei "Indy Clients"

meg91 2. Mai 2006 11:39

Re: Website einlesen
 
Zitat:

Bau doch einfach die Kompo über den GUI-Designer ein.
hä??? ich versteh glaub ich nich ganz was du meinst
könntest du das ganze noch ma schön langsam beschreiebn, damit auch ich check um wases hier geht

SnuffMaster23 2. Mai 2006 11:45

Re: Website einlesen
 
Einfach auf die Form setzen, so wie dus mit Buttons auch machst.
TButton findest du bei "Standard", TIdHTTP halt bei "Indy Clients"
Roger?

meg91 2. Mai 2006 11:53

Re: Website einlesen
 
da is aber nix
nur so TDde Zeug

kann es damit zusammenhängen das die bei meiner personal Edtion weggespart wurden?

SnuffMaster23 2. Mai 2006 11:56

Re: Website einlesen
 
Möglich :mrgreen:
Dann siehts schlecht aus für dich, außer die gibts irgendwo frei.

meg91 2. Mai 2006 12:00

Re: Website einlesen
 
könntest du mir nicht die IdHTTP.dcu schicken?

Klaus01 2. Mai 2006 12:03

Re: Website einlesen
 
Kannst Du dir auch hier laden: http://www.indyproject.org/download/Files/Indy9.html

Grüße
Klaus

meg91 2. Mai 2006 12:30

Re: Website einlesen
 
super vielen Dank
hab ich zumindest das ganze Indy zeug
jetzt bleibt mir nur noch ein Problem
wie kann ich die jetzt richtig verwenden?

hab ma so angefangen wie du es vorher gepostest hast aber da kommen immernoch voll die Fehler
ich steh im Mometn voll aufm Schlauch
Delphi-Quellcode:
ShowMessage(IdHTTP1.Get('www.sonstwas.de'));
bekomm folgende Fehler:
[Fehler] Unit1.pas(931): E2003 Undefinierter Bezeichner: 'IdHTTP1'
[Fehler] Unit1.pas(931): E2029 'END' erwartet, aber ')' gefunden

Klaus01 2. Mai 2006 12:41

Re: Website einlesen
 
Hast Du die Komponente der Anweisung (ist beim download dabei) nach installiert?
Hast Du das Object TidHttp auf Deine Form gezogen?


Grüße
Klaus

meg91 2. Mai 2006 12:49

Re: Website einlesen
 
hab da gar nix installiert sondern nur die Units die ich gebraucht hab zu meinem Projekt hinzugefügt

könnte eventl etwas problematisch mit der Installation werden, weil ich hab Delphi 2005 und die Installationen sind nur für versionen bis 7 gedacht
soll ichs trotzdem machen?

Klaus01 2. Mai 2006 12:59

Re: Website einlesen
 
zu Indy 9 und delphi 2005 kann ich Dir nichts sagen.
Ich habe "nur" Delphi 6.

Ich weiß nicht ob Indy 10 für Delphi > 7 gedacht ist.

Grüße
Klaus

meg91 2. Mai 2006 13:34

Re: Website einlesen
 
mir fällt grad ein ich hab auch noch Delphi 6 irgendwo rumliegen
dann könnte ich mein Projekt mit Delphi 6 öffnen und diese Komponente hinzufügen

denkst du, das es nacher möglich ist dieses Projekt wieder mit Delphi 2005 zu öffnen und dann auch mit dem daran weiterzuarbeiten?

Klaus01 2. Mai 2006 13:37

Re: Website einlesen
 
das Delphi 2005 benötigt dann auch diese Komponente.

Grüße
Klaus

meg91 2. Mai 2006 13:46

Re: Website einlesen
 
axo stimmt
also wirds sehr schwierig

oder weist du zufällig wo man das alles hinkopieren muss damits geht, denn die Installation funktioniert mit Delphi 2005 nicht und ich würde echt lieber mit dem weiterarbeiten

Zacherl 2. Mai 2006 13:47

Re: Website einlesen
 
Wieso schwierig? Wie man die Indys auf einem D2005 installiert wird hier in der DP beschrieben. Einfach mal suchen. Danach einen IdHTTP auf das Formular ziehen, den Quelltext einfügen, fertig. :wink:

Florian

meg91 2. Mai 2006 14:35

Re: Website einlesen
 
ich hab mir ein haufen Zeug durchgelesen habs aber immer noch net geschafft
kannst dur mir vllt nochma beschrieben wie das gehn soll

meg91 2. Mai 2006 15:15

Re: Website einlesen
 
endlich hab ichs geschafft alles zu instalieren

jetzt sollte nur noch das ansprechen mit tidhttp1.get... gehn

kann mir da jemand noch ein funktionierendes Beispiel posten

wäre sehr dankbar

meg91 2. Mai 2006 15:19

Re: Website einlesen
 
hab das ganze mal so probiert
Delphi-Quellcode:
ShowMessage(IdHTTP1.Get('www.google.de'));
aber es kommt immernoch nur der IE mit der Startseite
und das obwohl ich ich Firefox als standard Browser hab
es wird nich mal die richtige URL geöffnet und die Message kommt auch nicht

was hab ich denn jetzt schon wieder falsch gemacht

Klaus01 2. Mai 2006 15:49

Re: Website einlesen
 
kannst Du mal Dein Projekt hier einstellen, oder ein
wenig mehr Sourcecode mitschicken.

Ich verstehe nicht warum, wenn Du eine Seite mit idhttp öffnest,
der IE explorer sich öffnet. IdHttp ist soweit ich es weiß
kein Ableger vom IE wie es die TWebbrowserkomponente ist.

Grüße
Klaus

marabu 2. Mai 2006 17:13

Re: Website einlesen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Meg,

hier ein paar Zeilen Code als Starthilfe - vielleicht hilft es dir deine Fehler zu erkennen.

Grüße vom marabu

Klaus01 2. Mai 2006 17:32

Re: Website einlesen
 
Liste der Anhänge anzeigen (Anzahl: 1)
der Aufruf mit Idhttp sollte wie folgt lauten:

Delphi-Quellcode:
ShowMessage(IdHTTP1.Get('www.google.de'));
In meiner ersten Meldung habe ich das http:\\ vergessen, ohne das
bringt idhttp einen socket error.

Anbei ein Screenshot meiner Projects.

Grüße
Klaus

fkerber 2. Mai 2006 17:45

Re: Website einlesen
 
Hi!

http:\\ scheint zwar zu funktionieren, aber müsste es nicht eigentlich http:// heißen?


Ciao Frederic

Klaus01 2. Mai 2006 17:59

Re: Website einlesen
 
@Frederic

ja da hast Du recht, Asche auf mein Haupt.

Danke!

Grüße
Klaus

meg91 3. Mai 2006 15:16

Re: Website einlesen
 
habs auch ma mit http:// getestet
geht aber genauso wenig :(


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:44 Uhr.
Seite 1 von 2  1 2      

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