HTML Eigene Google Suche programmieren

Houseputz

Ensign
Registriert
Okt. 2010
Beiträge
194
Ich versuche zurzeit eine Suchfunktion auf einer Webseite mittels Google zu erstellen, da ich Google als mächtiges Werkzeug ansehe, dass Seiten besser durchsuchen kann als andere, selbstgebastelte Suchalgorithmen.

Ich hab hier so ein Suchfeld:
Unbenannt1d679a91png.png

In die Textbox soll etwas eingebeben werden, z.B. "Test".
Dann soll folgendes passieren:
das Suchbegriff oder die Suchbegriffe sollen an diesen Link "drangesetzt" werden:
http://www.google.com/search?q=test
der Link verweist dann auf die Suchergebnisse Googles zu "Test".
Jetzt würde Google nach "Bimbo" durchsucht werden:
http://www.google.com/search?q=bimbo

Jetzt kann man diese Sache noch ein wenig weiter treiben. Wie schon bekannt, kann man bestimmte Seiten mit Google nach einem Suchbegriff durchsuchen. Funktioniert mit der Kombination: meineseite.de: Suchbegriff.
In unserem Falle also: meineseite.de: Test.
Der dynamisch generierte Link müsste also so aussehen:
http://www.google.com/search?q=meineseite.de%3A+test

(Das grüne steht dabei immer für das statische, und das rote für den Teil vom Link, der von der Eingabe bestimmt wird.)

Ich habe das ganze nun also versucht, in meiner Suchfunktion zu programmieren, und bleibe leider stecken:
Code:
<div class="search">

				
<form action="input">
					<span>Suchen</span> <input type="text"> <a target="_blank" href="http://www.google.com/search?q=meineseite.de%3A+"text"" id="ok"><img src="images/button.jpg" alt="" height="24" width="45"></a>
				</form>

			</div>

Theoretisch müsste ja das Input aus dem Texteingabefeld nur an den statischen Link http://www.google.com/search?q= drangesetzt werden und in einem Browser-Tab geöffnet werden, mehr nicht! (wait)
Funktioniert irgendwie nicht ;(...
Könnt ihr mir helfen?
 
Kann ich nicht, bin zu doof dafür :)
Ich hätte auch nichts dagegen eine normale Suche für meine Seite zu machen, aber weiter als das hier hab ichs nicht ;(
 
mit dem Befehl " site:deindomain.com" zeigt dir Google nur ergebnisse von der angegebenen Domain an. Hänge einfach das noch an den Suchstring und schon hast du, was du willst :).

Ohne PHP wäre das glaube ich die einzige Lösung:
Code:
<div class="search">

				
<form action="http://www.google.com/search" method="get">
					<span>Suchen</span> <input type="text" value="site:meineseite.de " name="q" /> <a target="_blank" href="" id="ok"><img src="images/button.jpg" alt="" height="24" width="45"></a>
				</form>

			</div>

ansonsten schau da mal rein:

http://www.google.com/cse/
 
Zuletzt bearbeitet:
du solltest dir evtl. HTML noch mal angucken das kann so nicht funktionieren.
Alleine dein <form> tag ist falsch.
Also lies dich besser noch ma rein und guck dir danach mal PHP und $_POST globals an.... kannst du natürlich auch in javascript lösen falls du kein php hast oder lernen möchtest
 
Hast Du Dir schon mal über das Rechtliche ein paar Gedanken gemacht?
Nur ein neues Frontend zu basteln und das evtl. anzubieten wird mit Sicherheit nicht auf viel Akzeptanz seitens Google stoßen.
Eine Abmahnung und eine Unterlassungserklärung wären Dir gewiss.

Gruß Uwe
 
Das alles erübrigt sich doch wenn du die Googlesuche für deine eigene Homepage verwendest :confused_alt:

Oder kennst du das hier gar nicht http://www.google.de/cse/? Damit durchsuchst du mit einer für deine Seite angepassten Googlesuche deine Seite(n).
 
Zuletzt bearbeitet:
Dafür braucht's kein PHP-Skript:

Code:
<form action="http://www.google.com/search" method="get">
    <input type="text" name="q"/>
    <input type="submit" value="OK"/>
</form>
 
Warum eine Mahnung und Unterlassungsklage :s?
Also wenn ich diese Suche auf meiner Seite benutze? ;(
 
so klappt es - mit Filterung auf deine Domain (im Beispiel bild.de):

HTML:
  <div class="search">
                    
    <form>
      <label for="tbxSuchen">Suchen</label>
      <input type="text" id="tbxSuchen" value="">
      <input type="button" value="Suchen" onclick="window.open('http://www.google.com/search?q=site:www.bild.de+' + document.getElementById('tbxSuchen').value,'_blank','','');" />
    </form>
  
  </div>
was noch fehlt ist eine allfällige Zeichen-Codierung für Sonderzeichen in der URL.
 
Zuletzt bearbeitet:
Hier mal mit PHP. Achtung ist ungetestet!
Code:
[B]suchform.html

[/B]<form action="suchen.php" method="post"> 
<label>Suchen</label><input name="suchen" type="text">
<input type="submit" value="OK">
</form>

[B]suchen.php[/B]
<?php
header('Location: http://www.google.com/search?q='.$_POST[suchen]);
?>
 
Danke Lawnmower! :)
Muss ich jetzt aber wirklich Angst vor einer Abmahnung seitens Google haben? :(
 
Muss ich jetzt aber wirklich Angst vor einer Abmahnung seitens Google haben?
glaube ich eher nicht - die Werbung und so kommt ja dann auf der Ergebnisseite und nicht in der Suchmaske. Und die zeigt es bei Dir ja so auch an. Ausserdem bietet Google ja diesen Service auch an - dass man die Google Suche direkt in seiner Webseite integrieren kann.
 
Zuletzt bearbeitet:
Uwe F. schrieb:
Hast Du Dir schon mal über das Rechtliche ein paar Gedanken gemacht?
Nur ein neues Frontend zu basteln und das evtl. anzubieten wird mit Sicherheit nicht auf viel Akzeptanz seitens Google stoßen.
Eine Abmahnung und eine Unterlassungserklärung wären Dir gewiss.

Gruß Uwe

So einen Unsinn kann man einfach nicht stehen lassen.
Was er tut, ist nichts wirklich anderes als ein link zu google mit variablen get parametern. Davon provitiert google letztendlich, weil die Akzeptanz verbreitert wird (ganz zu schweigen von den hits). Aus gutem Grund bietet Google exakt für diesen Fall seine eigene Logik an.

Ich sehe da nicht wirklich, dass Googles Eigentumsrechte verletzt werden, solange er kein geschütztes Material verwendet (so sind die Logos z.B. explizit nur auf Zustimmung nutzbar).
 
So lange du nicht probierst zu verschleiern, wer hinter deinem Code steht, würde ich keine Angst vor einer Abmahnung haben. Wie beschrieben, google profitiert ja nur davon.
 
Wie soll ich das denn verschleiern, wenn man dann eh auf Google stößt?
Soll ich in das Impressum schreiben, dass die Suchfunktion auf der Seite auf Google basiert?
 
hör einfach nciht auf des gelaber ;P
die verwechseln das du auf die seite umleitest und nicht googles suchergebnisse als deine ausgibst (wie bing :evillol:)
also mach dir da keine sorgen

php find ich dafür viel zu überdimensioniert einfach über ne inputbox mit nen minijavascript fertig
 
Ich benutze nun doch das Google interne Suchtool, da es um längen besser ist, als mein Rumgefrickel... Entschuldigung für meine Dummheit :D

Jetzt hab ich aber ein anderes Problem:
Unbenannt6823756dpng.png

So übereinandergeschoben sollte das nicht sein :(
Weiß jemand Rat?

Code:
<div class="search">

				
   <div id="cse" style="width: 85%;">Loading</div>
<script src="http://www.google.de/jsapi" type="text/javascript"></script>
<script type="text/javascript"> 
  google.load('search', '1', {language : 'de'});
  google.setOnLoadCallback(function() {
    var customSearchControl = new google.search.CustomSearchControl('010452022805471151413:swmmpimune8');
    customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
    customSearchControl.draw('cse');
  }, true);
</script>
<link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" /> <style type="text/css">
  .gsc-control-cse {
    font-family: Arial, sans-serif;
    border-color: #186321;
    background-color: #186321;
  }
  input.gsc-input {
    border-color: #BCCDF0;
  }
  input.gsc-search-button {
    border-color: #666666;
    background-color: #CECECE;
  }
  .gsc-tabHeader.gsc-tabhInactive {
    border-color: #E9E9E9;
    background-color: #E9E9E9;
  }
  .gsc-tabHeader.gsc-tabhActive {
    border-top-color: #FF9900;
    border-left-color: #E9E9E9;
    border-right-color: #E9E9E9;
    background-color: #FFFFFF;
  }
  .gsc-tabsArea {
    border-color: #E9E9E9;
  }
  .gsc-webResult.gsc-result,
  .gsc-results .gsc-imageResult {
    border-color: #FFFFFF;
    background-color: #FFFFFF;
  }
  .gsc-webResult.gsc-result:hover,
  .gsc-imageResult:hover {
    border-color: #FFFFFF;
    background-color: #FFFFFF;
  }
  .gs-webResult.gs-result a.gs-title:link,
  .gs-webResult.gs-result a.gs-title:link b,
  .gs-imageResult a.gs-title:link,
  .gs-imageResult a.gs-title:link b {
    color: #0000CC;
  }
  .gs-webResult.gs-result a.gs-title:visited,
  .gs-webResult.gs-result a.gs-title:visited b,
  .gs-imageResult a.gs-title:visited,
  .gs-imageResult a.gs-title:visited b {
    color: #0000CC;
  }
  .gs-webResult.gs-result a.gs-title:hover,
  .gs-webResult.gs-result a.gs-title:hover b,
  .gs-imageResult a.gs-title:hover,
  .gs-imageResult a.gs-title:hover b {
    color: #0000CC;
  }
  .gs-webResult.gs-result a.gs-title:active,
  .gs-webResult.gs-result a.gs-title:active b,
  .gs-imageResult a.gs-title:active,
  .gs-imageResult a.gs-title:active b {
    color: #0000CC;
  }
  .gsc-cursor-page {
    color: #0000CC;
  }
  a.gsc-trailing-more-results:link {
    color: #0000CC;
  }
  .gs-webResult .gs-snippet,
  .gs-imageResult .gs-snippet {
    color: #000000;
  }
  .gs-webResult div.gs-visibleUrl,
  .gs-imageResult div.gs-visibleUrl {
    color: #008000;
  }
  .gs-webResult div.gs-visibleUrl-short {
    color: #008000;
  }
  .gs-webResult div.gs-visibleUrl-short {
    display: none;
  }
  .gs-webResult div.gs-visibleUrl-long {
    display: block;
  }
  .gsc-cursor-box {
    border-color: #FFFFFF;
  }
  .gsc-results .gsc-cursor-box .gsc-cursor-page {
    border-color: #E9E9E9;
    background-color: #FFFFFF;
    color: #0000CC;
  }
  .gsc-results .gsc-cursor-box .gsc-cursor-current-page {
    border-color: #FF9900;
    background-color: #FFFFFF;
    color: #0000CC;
  }
  .gs-promotion {
    border-color: #336699;
    background-color: #FFFFFF;
  }
  .gs-promotion a.gs-title:link,
  .gs-promotion a.gs-title:link *,
  .gs-promotion .gs-snippet a:link {
    color: #0000CC;
  }
  .gs-promotion a.gs-title:visited,
  .gs-promotion a.gs-title:visited *,
  .gs-promotion .gs-snippet a:visited {
    color: #0000CC;
  }
  .gs-promotion a.gs-title:hover,
  .gs-promotion a.gs-title:hover *,
  .gs-promotion .gs-snippet a:hover {
    color: #0000CC;
  }
  .gs-promotion a.gs-title:active,
  .gs-promotion a.gs-title:active *,
  .gs-promotion .gs-snippet a:active {
    color: #0000CC;
  }
  .gs-promotion .gs-snippet,
  .gs-promotion .gs-title .gs-promotion-title-right,
  .gs-promotion .gs-title .gs-promotion-title-right *  {
    color: #000000;
  }
  .gs-promotion .gs-visibleUrl,
  .gs-promotion .gs-visibleUrl-short {
    color: #008000;
  }
</style>
      
  
  </div>
 
wo ist den dein suchen button?
und warum bindest du das direkt ein ?
legst hald in ne externe datei macht das ganze übersichtlicher
 
Zurück
Oben