Heim Backend-Entwicklung PHP-Tutorial Grundlagen der Suchmaschinen-Kerntechnologie_php

Grundlagen der Suchmaschinen-Kerntechnologie_php

Jun 28, 2017 pm 03:37 PM
php 基础 搜索引擎

Wenn es um Websuchmaschinen geht, denken die meisten Menschen an Yahoo. Tatsächlich hat Yahoo eine Ära der Internetsuche eingeläutet. Allerdings wurde die Technologie, die Yahoo derzeit zum Durchsuchen des Internets verwendet, ursprünglich nicht vom Unternehmen entwickelt. Im August 2000 übernahm Yahoo die Technologie von Google (www.google.com), einem von Studenten der Stanford University gegründeten Venture-Unternehmen. Der Grund ist ganz einfach: Die Suchmaschine von Google kann schneller und genauer nach den benötigten Informationen suchen als die bisher von Yahoo verwendete Technologie.

Es ist für uns wahrscheinlich unmöglich, in kurzer Zeit selbst eine leistungsstarke und effiziente Suchmaschine und Datenbank zu entwerfen und zu entwickeln, da Yahoo jedoch die Technologie anderer Leute nutzt Können wir nicht auch die vorgefertigten Suchmaschinen-Websites anderer Leute nutzen?

Analyse von Programmierideen

Wir können uns Folgendes vorstellen: eine Abfrage simulieren, einen Suchbefehl in einem entsprechenden Format an eine Suchmaschinen-Website erteilen, dann die Suchergebnisse zurückgeben und den HTML-Code analysieren Wir bearbeiten die Ergebnisse, entfernen überflüssige Zeichen und Codes und zeigen sie schließlich im erforderlichen Format auf unserer eigenen Website an.

Der Schlüssel zum Problem besteht also darin, dass wir Suchinformationen auswählen müssen, die genau (damit unsere Suche aussagekräftiger ist) und schnell (da wir zusätzliche Zeit für die Analyse der Suchergebnisse benötigen) auswählen müssen und zeigen Sie sie an), eine Suchwebsite mit prägnanten Suchergebnissen (praktisch für die Analyse und Entfernung von HTML-Quellcode). Aufgrund der verschiedenen hervorragenden Funktionen der Suchmaschine der neuen Generation, Google, wählen wir sie hier als Beispiel, um zu sehen, wie PHP verwendet wird Implementieren Sie die Hintergrundverarbeitung der Google-Suche (www. google.com) und den personalisierten Front-End-Anzeigeprozess.

Werfen wir zunächst einen Blick auf die Zusammensetzung der Abfragebefehle von Google. Rufen Sie die Website www.google.com auf, geben Sie „abcd“ in die Abfrageleiste ein und klicken Sie auf die Schaltfläche „Abfrage“. Wir können feststellen, dass sich die Adressleiste des Browsers in „http://www.google.com/search?q=“ ändert abcd&btnG=Google %CB%D1%CB%F7&hl=zh-CN&lr=". Es ist ersichtlich, dass Google die Abfrageparameter übergibt und den Abfragebefehl über die get-Methode des Formulars sendet. Wir können die Funktion file() in PHP verwenden, um diesen Abfragevorgang zu simulieren.

Verstehen Sie die Funktion File()

Syntax: array file(string filename);

Der Rückgabewert ist ein Array und alle Dateien werden in die Array-Variable eingelesen. Die Dateien hier können lokal oder remote sein. Remote-Dateien müssen das verwendete Protokoll angeben. Beispiel: result=file("http://www.google.com/search?q=a ... mp;hl=zh-CN&lr="), diese Anweisung simuliert unsere Abfrage nach dem Wort „abcd“. Google-Prozess und überträgt die Suchergebnisse in Form von Elementen pro Zeile zurück an die Array-Variable result. Da die hier gelesene Datei remote ist, darf der Protokollname „http://“ nicht fehlen.

Wenn Sie möchten, dass der Benutzer Suchzeichen für eine beliebige Suche eingibt, können wir ein Eingabetextfeld und eine Schaltfläche zum Senden erstellen und das gesuchte Zeichen „abcd“ oben durch eine Variable ersetzen:
echo '

'; //Für ein Formular ohne Parameter ist die Standard-Übermittlungsmethode get, an sich selbst übermittelt
echo '' ; / /Erstellen Sie ein Texteingabefeld
echo '';/Erstellen Sie eine Schaltfläche zum Senden einer Abfrage
echo '
'; 🎜>
if (isset( keywords)) // PHP generiert nach der Übermittlung die Variable kwywords, was die Ausführung des folgenden Programms nach der Übermittlung erfordert
{
urlencode( keywords); // URL-Kodierung des Benutzers Eingabeinhalt
result=file("http://www.google.com/search?q=". keywords."&btnG=Google%CB%D1%CB%F7&hl=zh-CN&lr="); >/ /Ersetzen Sie Variablen in der Abfrageanweisung und speichern Sie die Abfrageergebnisse in der Array-Variable result
result_string=join(" ", result); //Fügen Sie das Array $result in
string
zusammen, jedes Array Element Zum Einfügen Leerzeichen verwenden ... //Weiterverarbeitung }

Das obige Programm kann bereits Inhalte basierend auf Benutzereingaben abfragen und das Ergebnis synthetisieren eine String-Variable $result_string. Bitte beachten Sie, dass Sie die Funktion urlencode() verwenden müssen, um die Benutzereingaben per URL zu kodieren, damit Sie die eingegebenen chinesischen Zeichen, Leerzeichen und andere
Sonderzeichen
normal abfragen können. Dies dient auch der Simulation von Google Geben Sie den Befehl so realistisch wie möglich ein, um die Genauigkeit der Suchergebnisse sicherzustellen.
Analyse von Google
Zum besseren Verständnis nehmen wir an, dass wir wirklich Folgendes brauchen: den Titel der Suchergebnisse. URL und Einführung usw. Dies ist eine einfache und typische Anforderung. Auf diese Weise müssen wir nur noch die Kopf- und Fußzeile der Google-Suchergebnisse entfernen, einschließlich eines Google-Logos, eines Eingabefelds für eine erneute Suche, einer Suchergebnisbeschreibung usw., und den ursprünglichen HTML-Code aus dem verbleibenden Suchergebnis entfernen Elemente formatieren, ersetzen Sie es durch das gewünschte Format.

Dazu müssen wir den HTML-Quellcode der Google-Suchergebnisse sorgfältig analysieren und die Muster finden. Es ist nicht schwer herauszufinden, dass der Text der Google-Suchergebnisse immer zwischen dem ersten

-Tag und dem vorletzten

-Tag eingefügt ist unmittelbar gefolgt von und Tabellenzeichen, und diese Kombination „


Alle folgenden Vorgänge werden im Abschnitt „Weiterverarbeitung“ des oben genannten Verfahrens fortgesetzt.

result_string = strstr( result_string, "

"); //Erhalten Sie die Zeichenfolge nach result_string beginnend mit dem ersten

, um den Google-Header zu entfernen
position= strpos( result_string," Die Position des

Tabellensymbols
result_string= substr( result_string,0, position);//Abfangen der Zeichenfolge vor dem ersten

Tabellensymbol, um die Fußnote zu entfernen

Anwendung und Implementierung

Nun, da wir das nützliche HTML-Quellcode-Grundgerüst erhalten haben, besteht das verbleibende Problem darin, den Inhalt unabhängig voneinander anzuzeigen und die Unterschiede zwischen den einzelnen Elementen herauszufinden regelmäßig durch
getrennt, d. h. jeder ist ein Absatz. Gemäß dieser Funktion verwenden wir die Funktion „explodieren“ zum Ausschneiden jedes Eintrags:

Syntax: „explodieren“(String-Trennzeichen, String-String)

Gibt ein Array zurück und jede kleine Zeichenfolge wird im Array gespeichert

Also:
result_array=explode("

", //; Verwenden Sie die Zeichenfolge „

“, um die Ergebnisse auszuschneiden.

Wir erhalten ein Array result_array, wobei jedes Element ein Suchergebniseintrag ist Code und ersetzen Sie ihn dann nach Bedarf > Für jeden Eintrag können wir leicht einige Merkmale finden: Jeder Eintrag besteht aus Titel, Zusammenfassung, Einleitung, Kategorie, URL usw., und jeder Teil ist umbrochen, das heißt, er enthält
erneut teilen: (Der folgende Handler wird in die obige Schleife eingefügt)
every_item=explode("
", result_array[ i]);

Auf diese Weise erhalten wir ein Array every_item, where every_item[0] ist der Titel, every_item[1] und every_item[2] sind zwei Zeilen der Zusammenfassung, wenn die Header von every_item[3], every_item[4] usw. „Einleitung:", "< Schriftgröße=-1 Farbe=#6f6f6f>Kategorie:< /font>" Zeichen sind Einleitung oder Kategorie (da einige Ergebniseinträge dieses Element nicht haben) , wenn der Header „“ enthält, muss es sich um die URL handeln. Wir verwenden für diesen Vergleich häufig
regulären Ausdruck
. Dies ist auch sehr praktisch, wenn Sie ihn ersetzen möchten , wie zum Beispiel das Einfügen eines Titels $every_item[0] selbst hat einen Link Wir möchten dieses Linkattribut so ändern, dass es den Link in einem neuen Fenster öffnet:
echo eregi_replace(' {
... //. Jedes Element verarbeiten Jedes Element außer dem ersten Element (das erste Element ist der Titel, der bereits angezeigt wird)
... //Weitere Formatänderungen }
Auf diese Weise werden die Linkattribute geändert und viele andere werden angezeigt. Formatänderungen, Entfernung und Ersetzung können alle mit der regulären Ersetzung eregi_replace() durchgeführt werden.

Zu diesem Zeitpunkt haben wir jedes Element jedes Suchelements erhalten und können das Format jedes Elements nach Belieben ändern und sogar eine schöne Tabelle darauf erstellen. Ein gutes Programm sollte jedoch in der Lage sein, sich an verschiedene Betriebsumgebungen anzupassen, und dies ist keine Ausnahme. Tatsächlich haben wir nur eine Framework-Methode für das HTML-Stripping von Suchergebnissen besprochen , wie z. B. Es zeigt die Gesamtzahl der Suchergebnisse an, wie viele Seiten es unterteilt usw. Es kann sogar die „Kategorie“, „Einleitung“ und andere Codes im Zusammenhang mit Google entfernen, sodass Kunden die ursprüngliche Website unter nicht sehen können alle. Allerdings können wir alle diese Inhalte und Anforderungen durch die Analyse von HTML extrahieren. Jetzt kann es jeder selbst tun und eine hochgradig personalisierte Suchmaschine erstellen.

Das obige ist der detaillierte Inhalt vonGrundlagen der Suchmaschinen-Kerntechnologie_php. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

7 PHP-Funktionen, die ich leider vorher nicht kannte 7 PHP-Funktionen, die ich leider vorher nicht kannte Nov 13, 2024 am 09:42 AM

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Wie analysiert und verarbeitet man HTML/XML in PHP? Wie analysiert und verarbeitet man HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge Feb 07, 2025 pm 12:12 PM

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Erklären Sie die späte statische Bindung in PHP (statisch: :). Erklären Sie die späte statische Bindung in PHP (statisch: :). Apr 03, 2025 am 12:04 AM

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Apr 03, 2025 am 12:03 AM

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.

See all articles