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? |
Re: Website einlesen
Du könntest die Anfrage per INDY stellen und dann das Ergebnis parsen.
|
DP-Maintenance
Dieses Thema wurde von "sakura" von "Object-Pascal / Delphi-Language" nach "Internet / LAN / ASP.NET" verschoben.
|
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 |
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 |
Re: Website einlesen
welche Unit muss ich dafür einbinden damit des klappt?
|
Re: Website einlesen
Eigentlich keine, da es die Komponente automatisch macht.
Indi sind Komponenten... Flare |
Re: Website einlesen
und wie muss dass dann konkret aussehen?
kann jemand vllt ein codeschnipsel posten wäre sehr dankbar |
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:
die Datei herunterladen.
DownLoadURL1.Execute;
MfG Fabian |
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 |
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 |
Re: Website einlesen
hab das grad ma ausprobiert nur speichert der bei mir nix ab
es öffnet sich nur der IE mit eingtragener URL |
Re: Website einlesen
dann hast du TBrowseURL genommen statt TDownloadURL.
MfG |
Re: Website einlesen
nein hab ich nicht
Delphi-Quellcode:
und es öffnet sich trotzdem nur der Browser
DownLoadURL1.URL := 'http://www.metager2.de/search/index.php?q=test';
DownLoadURL1.Execute; kann man beid den Eigenschaften der Action irgendwas falsch einstellen oder was sollte man da eintragen? |
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:
//Edit: So einfach gehts mit TIdHTTP:
Download1 := TDownLoadURL.Create(Form1);
Download1.URL := 'http://SnuffMaster23.wspace.org/smileys/TinkPink.gif'; Download1.Filename := 'test.gif'; Download1.ExecuteTarget(nil);
Delphi-Quellcode:
var Page: TStringList;
... Page := TStringList.Create; ... Page.Text := IdHTTP1.Get('www.sonstwas.de'); |
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' |
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:
Ich hab Mozilla als Standardbrowser, mit DownloadURL geht nichts auf. //Edit: Mann bin ich heut zerstreut... Die Kompo findest du bei "Indy Clients" |
Re: Website einlesen
Zitat:
könntest du das ganze noch ma schön langsam beschreiebn, damit auch ich check um wases hier geht |
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? |
Re: Website einlesen
da is aber nix
nur so TDde Zeug kann es damit zusammenhängen das die bei meiner personal Edtion weggespart wurden? |
Re: Website einlesen
Möglich :mrgreen:
Dann siehts schlecht aus für dich, außer die gibts irgendwo frei. |
Re: Website einlesen
könntest du mir nicht die IdHTTP.dcu schicken?
|
Re: Website einlesen
|
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:
bekomm folgende Fehler:
ShowMessage(IdHTTP1.Get('www.sonstwas.de'));
[Fehler] Unit1.pas(931): E2003 Undefinierter Bezeichner: 'IdHTTP1' [Fehler] Unit1.pas(931): E2029 'END' erwartet, aber ')' gefunden |
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 |
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? |
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 |
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? |
Re: Website einlesen
das Delphi 2005 benötigt dann auch diese Komponente.
Grüße Klaus |
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 |
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 |
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 |
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 |
Re: Website einlesen
hab das ganze mal so probiert
Delphi-Quellcode:
aber es kommt immernoch nur der IE mit der Startseite
ShowMessage(IdHTTP1.Get('www.google.de'));
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 |
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 |
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 |
Re: Website einlesen
Liste der Anhänge anzeigen (Anzahl: 1)
der Aufruf mit Idhttp sollte wie folgt lauten:
Delphi-Quellcode:
In meiner ersten Meldung habe ich das http:\\ vergessen, ohne das
ShowMessage(IdHTTP1.Get('www.google.de'));
bringt idhttp einen socket error. Anbei ein Screenshot meiner Projects. Grüße Klaus |
Re: Website einlesen
Hi!
http:\\ scheint zwar zu funktionieren, aber müsste es nicht eigentlich http:// heißen? Ciao Frederic |
Re: Website einlesen
@Frederic
ja da hast Du recht, Asche auf mein Haupt. Danke! Grüße Klaus |
Re: Website einlesen
habs auch ma mit http:// getestet
geht aber genauso wenig :( |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:44 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