Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Googlesuche (https://www.delphipraxis.net/4814-googlesuche.html)

Uncle Cracker 12. Mai 2003 20:45


Googlesuche
 
Wie kann man eigentlich eine Googlesuche programmieren.

Damit meine ich, dass man zum Beispiel in ein Editfeld, ein oder mehrer Suchwörter eingibt und dann sich automatisch der Internetexplorer öffnet und die Suchergebnisse anzeigt.

Ist das auch mit anderen Suchseiten möglich?

Mirilin 12. Mai 2003 20:57

*kramt nach link*

*kramt*

*findet*

Klick

Gruss Mirilin


oder andere Idee: 'http://www.google.ch/search?q=test+suche&ie=ISO-8859-1&hl=de&btnG=Google+Suche' könntest ja den URL selber zusammen basteln...

Uncle Cracker 12. Mai 2003 21:02

@Mirilin Danke ging sehr schnell

Aber weiß jemand ob das auch für andere Suchmaschinen geht (Lycos, Altavista, Yahoo)?

Mirilin 12. Mai 2003 21:07

@Uncle Cracker

AltaVista : "http://de.altavista.com/web/results?q=testsuche&kgs=1&kls=1&avkw=xytx"
Yahoo : "http://de.rd.yahoo.com/hps/*http://de.search.yahoo.com/search/de?p=testsuche&y=y"

Sollte doch gehen, hier mit dem Stichwort TestSuche, kannst ja eben mal schauen, wie dass so damit geht (den URL selber zusammenzubasteln), oder schauen, ob es bei diesen Suchmaschinen auch so etwas gibt wie bei Google.

Alexander 13. Mai 2003 13:45

du musst dir eigentlich nur die URL ankucken, wenn du allerdings pech hast, werden die Daten nicht per URL übertragen, ist aber meistens so.

Uncle Cracker 13. Mai 2003 14:26

Danke, aber wie kann ich das am besten in einem Editfeld machen, also Stichworte eingeben und dann automatisch auf die Seite gelangen?

Alexander 13. Mai 2003 15:08

Wo ist das Problem?
Delphi-Quellcode:
Uses ShellAPI;
//Einfach Browser auf Seite öfnnen:
ShellExecute(0, 'open', 'http://www.google.de/search?q='+edit1.Text+'&ie=UTF-8&oe=UTF-8&hl=de&meta=' , nil, nil, SW_SHOW);
so sollte es gehen.

Uncle Cracker 13. Mai 2003 15:13

Und das geht eben bei mir nicht. es kommt immer die Meldung:
Inkompatible Typen: 'String' und 'PChar'

Kann das daran liegen, das ich noch Delphi 4 Standard nutzte, da gab es ja mal ein Problem mit dem laden der Seite in TWebBrowser.

Alexander 13. Mai 2003 15:19

mhm ok. dann wandle es mal mit PChar() in ein PChar um

Mirilin 13. Mai 2003 15:20

zum Problem mit TWebBrowser in D4 :
Delphi-Quellcode:
var NullVar: OleVariant;
NullVar := Null;
Navigate(URL, NullVar, NullVar, NullVar, NullVar);
(So hat mir AHuser aus www.delphi-groups.de geholfen)

PChar()...

Uncle Cracker 13. Mai 2003 15:38

Danke, habe es so hingekriegt das die Googlesuche es funktioniert

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShellExecute(0, Nil, PChar('http://www.google.de/search?q='+edit1.Text+'&ie=UTF-8&oe=UTF-8&hl=de&meta='), Pchar(''), Pchar(''), SW_NORMAL);
End;

Alexander 13. Mai 2003 15:42

nichts zu danken

Uncle Cracker 13. Mai 2003 15:57

Zitat:

Zitat von Mirilin
zum Problem mit TWebBrowser in D4 :
Delphi-Quellcode:
var NullVar: OleVariant;
NullVar := Null;
Navigate(URL, NullVar, NullVar, NullVar, NullVar);
(So hat mir AHuser aus www.delphi-groups.de geholfen)

PChar()...

Geht noch einfacher bzw. schneller zu lösen
Delphi-Quellcode:
var i, q, r, s: OLEVariant;
WebBrowser1.Navigate(URL, i, q, r, s);

Uncle Cracker 13. Mai 2003 20:19

Mich beschäftigt die Googlesuche immer noch extrem, denn wie geht das nun wenn man mehrere Stichwörter hat. Google verbindet die
verschiedenen Stichwörter mit einem Plus (+), doch wie mach ich das mit dem Editfeld?

Außerdem habe ich eine kleine Zusammenstellung für den PChar Bereich gemacht mit einigen Sucheingaben:
Delphi-Quellcode:
Google.de: 'http://www.google.de/search?hl=de&ie=UTF8&oe=UTF8&q='+edit1.text+'&btnG=Google-Suche&meta='

Lycos.de: 'http://suche.lycos.de/cgi-bin/pursuit?matchmode=and&mtemp=main&etemp=error&query='+edit1.text+'&cat=de_spkr'

Altavista.de: 'http://de.altavista.com/q?pg=q&q='+edit1.text+'&kl=XX&what=de'

Yahoo.de: 'http://de.search.yahoo.com/search/de?p='+edit1.text

Web.de: 'http://suche.web.de/search/?&ref=hp&su='+edit1.text+'&smode=all'

Fireball.de. 'http://suche.fireball.de/fcgi/query1.fcg?action=query&pg=express&q='+edit1.text+'&what=german_web'

Ebay.de: 'http://search.ebay.de/search/search.dll?MfcISAPICommand=GetResult&ht=1&shortcut=4&SortProperty=MetaEndSort&maxRecordsPerPage=50&st=2&ebaytag1code=77&query='+edit1.text

Amazon.de: 'http://www.amazon.de/exec/obidos/external-search?index=blended&keyword='+edit1.text+'&tag=ricochetfansi-21&tag-id=ricochetfansi-21'

Download.com: 'http://download.com.com/3120-20-0.html?qt='+edit1.text

Checkdomain.com: 'http://www.checkdomain.com/cgi-bin/checkdomain.pl?domain='+edit1.text

Verfassungsschutz: 'http://www.verfassungsschutz.de/cgi-bin/htsearch?config=&restrict=&exclude=&method=and&format=builtin-long&sort=score&words='+edit1.text

Duesseldorf.de: 'http://search.duesseldorf.de:8765/query.html?col=ddfall&ht=0&qp=&qt='+edit1.text+'&qs=&qc=&pw=100%25&ws=1&qm=0&st=1&nh=10&lk=1&rf=0&rq=0&si=0'

MP3.com: 'http://search.mp3.com/bin/search?query='+edit1.text
Alle Links funktionieren einwandfrei. Vielleicht findet jemand noch ein paar Links. Kann sie ja schreiben oder mir zukommen lassen.
Aus dieser Zusammenstellung könnte man eigentlich ein schönes Programm schreiben.

Daniel B 13. Mai 2003 20:34

Hallo,

Delphi-Quellcode:
'http://www.google.de/search?hl=de&ie=UTF8&oe=UTF8&q=' + (Edit1.Text + '+' + Edit2.Text + '+' + Edit3.Text) + '&btnG=Google-Suche&meta='
Soweit OK?

Grüsse, Daniel :hi:

Uncle Cracker 13. Mai 2003 20:41

Ich meinte aber alle Stichworte in einem Editfeld und dann soll automatisch Plus eingesetzt werden.

Wie geht das?

Alexander 14. Mai 2003 14:43

dann musst du halt mit POS die entsprechenden Positionen des Leerzeichens im TExt des Edits finden, diese dann mit Copy rauskopieren und weiter mit POS suchen. Am besten dann natürlich in eine Schleife

Uncle Cracker 14. Mai 2003 15:21

:wiejetzt: Kannst du mir das vielleicht anhand eines Codes kurz demonstrieren?

Stanlay Hanks 14. Mai 2003 15:25

Hallo Uncle Cracker! Also auf torry.net gibts ne Komponente, die heißt Google API oder so. Gib einfach mal "Google" ein. Da gibts nur eine Komponente.

Man liest sich, Stanlay 8)

Uncle Cracker 14. Mai 2003 15:42

Danke Stanlay Hanks, aber ich nutzte noch D4

Alexander 14. Mai 2003 18:26

Mit POS kannst du nach einer bestimmten ZEichenkette oder nach einem ZEichen suchen in einem String suchen. Du suchst einfach nach einem ' '. Die Position kannst du z.B. in eine Variabel speichern oder gleich mit Copy kopieren.
Copy kopiert aus einem String, an die Funktion übergibst du Start- und Endindex als Parameter, und dann kannst du die einzelnen Wörter rauskopieren und dann jeweils ein plus reinsetzen.

RomanK 14. Mai 2003 18:40

Warum so kompliziert.

Geh einfach den gesamten String mit einer For -Schleife durch und prüfe jedes Zeichen ob es ein ' ' ist und wenn dann ersetzte es durch ein +

Delphi-Quellcode:
for i:=1 to length(edit1.text) do
begin
if edit1.text[i] = ' ' then begin
   edit1.text[i] := '+' ;
end;
end;
Nicht getestet sollte aber tun.

Daniel B 14. Mai 2003 18:44

Hallo,

einfacher wäre es wohl mit StringReplace.

@Roman, das Ergebniss wäre im Edit immer ein +. //Sobald eine Leerstelle vorhanden ist.

Grüsse, Daniel :hi:


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:19 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