Suchmaschine selber programmieren

Das könnte dich auch interessieren …

17 Antworten

  1. Maximilian sagt:

    Cooles Tutorial!

  2. soeppel kan sagt:

    hi, wie kann ich den Quellcode ausführen?

  3. Tobi sagt:

    Hallo, danke für das Tutorial. Wenn ich das richtig verstehe, wird hier nur die Website developer-blog.net durchgesucht richtig? Wie kann ich mehrere aber nur bestimmte Seiten durchsuchen lassen ? z.B. ich will nur 5 bestimmte große Webseiten durchsuchen und indexen mehr nicht.

    • Ganz einfach, du musst das Skript ändern. Erstelle einfach ein Array $url mit deinen 5 Domains und baue eine Schleife ein, die das Array durchgeht. Die Ausgabe mit print_r würde ich am besten in eine Datei mit dem Domainnamen als Dateiname schreiben. Und schon hast du 5 Sitemaps!

  4. mirko sagt:

    Hallo habe da auch mal eine frage und würde mich über eine Antwort freuen.
    Ich habe ein Projekt bei dem ich einfach nicht aus dem Start rauskomme und suche einen Programmierer der sich gerne daran beteiligen will mit freiwilliger arbeit.
    😉
    Dabei sollte ich sagen das es nicht so schwer ist aber Google in den Schatten stellen wird.
    ;.)
    Da bin ich mir sicher.

  5. Stephan sagt:

    Hallo,

    was mir nicht ganz klar ist: Ich würde gerne sinnvoll suchen, und nicht nur von irgendeiner URL loslegen, sprich: Ich will z.B. alle Vertreter eine Berufsgruppe in einer Stadt (oder allen Städen) Deutschlands haben.
    Also so wie wenn ich Google dazu einsetzen würde, um z.B.
    Rechtsanwalt Hamburg
    Rechtsanwalt Hannover
    Rechtsanwalt Münster

    usw. aufzurufen, und dann die Ergebnisse durchsuchen. Geht so was? Wenn ja, wie?

    • Hallo,
      Natürlich. Nur musst du in diesem Fall deine Suche auf einer bestehenden Suchmaschine aufbauen. Du kannst in deinem Programm ja Keywords wie „Rechtsanwalt Hannover“ definieren und dann diese bei zB Google suchen und auf der Ergebnisseite der zb ersten 10 Seiten alle x Links in die Tiefe gehen. Also als Startpunkt quasi
      https://www.google.at/search?rlz=1C9BKJA_enAT634AT634&hl=de&ei=RFhLVuWeCeShyAP8z4yIAg&q=rechtsanwalt+hamburg&oq=rechtsanwalt+hamburg&gs_l=mobile-gws-serp.3..0l5.4083.12328.0.13200.26.26.0.14.14.0.356.5311.0j13j7j5.25.0….0…1c.1.64.mobile-gws-serp..5.21.1346.3.YWaYineSSCs
      Das ist übrigens so ein Henne Ei Problem. Ohne bestehenden Index wirst du nur fündig, wenn du alles durchsuchst. Du kannst aber auch jeden bestehenden Index verwenden – dessen Qualität definiert dann das Ergebnis. Du könntest auch das Ergebnis mehrerer Suchmaschinen als Ausgangspunkt kombinierten.

      • Eppi sagt:

        bin gerade auf dieser Seite gelandet.
        Ich weiß zwar nicht ob es nach so langer Zeit noch eine Antwort gibt, aber ich versuche es.

        Kann ich das Suchergebnis auch in eine Variabel speichern?

        • Werner Ziegelwanger sagt:

          Das Ergebnis von find_all_links wird schon in der Variabel $links gespeichert. Da diese ja nicht permanent ist (RAM) wird sie in die DB geschrieben. Alternativ kann man das auch in eine Datei machen. Oder verstehe ich die Frage falsch?

          • eppi sagt:

            Hallo Werner,
            danke für deine Mühe

            ich habe die google-suche in die Variabel $url gesetzt, dann bekomme ich im array $links meine gesuchten Links

            $url = „https://www.google.at/search?q=rechtsanwalt+hamburg&num=100“;
            $links = find_all_links($url);

            Gruß
            Klaus

  6. Felix Micke sagt:

    Hallo,
    mir ist da was noch nicht ganz klar. Muss ich jetzt also nur den letzten Teil in mein Script einbauen, und auf meiner index.php mit dem action-befehl auf diese .php datei verweisen?
    Und dann nur noch eine Tabelle mit den Daten hier „CREATE TABLE `links` (
    `link` varchar(255) NOT NULL,
    `id` int(10) unsigned NOT NULL auto_increment,
    PRIMARY KEY (`id`),
    UNIQUE KEY `link` (`link`)
    ) ENGINE=MyISAM CHARSET=utf8“
    erstellen, oder muss ich diese Datei hier auch irgendwo im Script einbauen?

  7. Matt sagt:

    Hallo,
    wenn ich das Script auf meinen Webserver (aktuelle Version 5.2.4.) lade, mit der entsprechenden Datenbank verknüpft, wird dieses immer wieder ausgeführt (zu dem Zeitpunkt, zu dem ich es hochlade)? Oder muss man es manuell „starten“?
    Kurzum: Wie funktioniert Start und Stop des Scripts?
    Danke übrigens für die Mühe das online zu stellen!

    • Werner Ziegelwanger sagt:

      es gibt zwei Möglichkeiten, wie man PHP Skripte automatisch laufen lassen kann. Die beste ist, indem man einen Cronjob durch Crontab definiert. Das sollte eigentlich jeder Hoster unterstützen. Die zweite aber viel schlechtere Variante ist das Skript bei jedem Seitenaufruf (zB index.php) einzubinden. Klappt zwar, macht aber jeden Seitenaufruf langsamer…

  8. eppi sagt:

    bekomme mit meiner kleinen Suchmachine oft die Meldung „504 Gateway Time-out nginx“.
    gibt es mit PHP eine Möglichkeit, das der Browser nach einer gesetzen Zeitverzögerung weiter arbeitet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert