Snoopy ist eine php-Klasse, die zur Simulation der Funktionen des Browsers dient und Webinhalte abrufen und Formulare versenden kann. Für den korrekten Betrieb von Snoopy muss die PHP-Version Ihres Servers 4 sein oben. Und unterstützt PCRE (Perl-kompatible reguläre Ausdrücke), Basic LAMP Service Alle unterstützt. Die offizielle Download-Adresse der Snoopy-Klasse lautet: http://snoopy.sourceforge.net/1 Einige Funktionen von Snoopy:1.Inhalte von Webseiten abrufen abrufen2.Fangen Sie den Textinhalt der Webseite ab (Entfernen HTMLTag) fetchtext3.Webseiten-Links abrufen, Formular fetchlinks fetchform4.Proxy-Host unterstützen5.Basisbenutzernamen unterstützen /Passwortüberprüfung6.Support-Einstellungenuser_agent, referer(Quelle ), Cookies und Header-Inhalt (HeaderTeile)7.Unterstützt die Browserumleitung und kann die Umleitungstiefe steuern8.Kann die Links im Web Seite werden in hochwertige URL (Standard)9.Senden erweitert Daten und Rückgabewert erhalten10.Support-TrackingHTMLFramework 11.Unterstützt die Weitergabe von Cookies bei der Weiterleitung, erfordert php4 oder höher. Ja, da es so ist Eine php-Klasse, es besteht keine Notwendigkeit, die Unterstützung zu erweitern. Dies ist die beste Wahl, wenn der Server curl nicht unterstützt. 2. Klassenmethoden :fetch($URI) Dies ist für das Crawlen von Webseiten Methode, die für den Inhalt verwendet wird. Der Parameter $URI ist die URL-Adresse der gecrawlten Webseite. Die abgerufenen Ergebnisse werden in $this->results gespeichert. Wenn Sie einen Frame erfassen, verfolgt Snoopy jeden Frame, speichert ihn in einem Array und speichert ihn dann in $this-> . fetchtext($URI) Diese Methode ähnelt fetch() Der einzige Unterschied besteht darin Die Methode entfernt die HTML-Tags und andere irrelevante Daten und gibt nur den Textinhalt auf der Webseite zurück. fetchform($URI) Diese Methode ähnelt fetch() Der einzige Unterschied besteht darin Die Methode entfernt die HTML-Tags und andere irrelevante Daten und gibt nur den Formularinhalt (form) auf der Webseite zurück. fetchlinks($URI) Diese Methode ähnelt fetch() Der einzige Unterschied besteht darin Die Methode entfernt die HTML-Tags und andere irrelevante Daten und gibt nur den Link (link) auf der Webseite zurück. Standardmäßig werden relative Links automatisch vervollständigt und in eine vollständige URL umgewandelt. submit($URI,$formvars) Diese Methode sendet ein Bestätigungsformular an die durch $URL . $formvars ist ein Array, das Formularparameter speichert. submittext($URI,$formvars) Diese Methode ähnelt submit(), mit dem einzigen Unterschied Diese Methode entfernt die HTML-Tags und andere irrelevante Daten und gibt erst nach der Anmeldung den Textinhalt auf der Webseite zurück. submitlinks($URI) Diese Methode ähnelt submit(). Der einzige Unterschied besteht darin Die Methode entfernt die HTML-Tags und andere irrelevante Daten und gibt nur den Link (link) auf der Webseite zurück. Standardmäßig werden relative Links automatisch vervollständigt und in eine vollständige URL umgewandelt.3. Klassenattribute: (Der Standardwert steht in Klammern)$host Verbundener Host$port Verbundener Port$proxy_host Zu verwendender Proxy-Host, falls vorhanden $ Proxy-Port Der zu verwendende Proxy-Host-Port, falls vorhanden$agent Disguise (Snoopy v0.1)$ Referrer Referrer-Informationen, falls vorhanden$cookies Cookies, falls vorhanden$rawheaders Andere Header-Informationen , falls vorhanden$maxredirs Maximale Anzahl von Weiterleitungen, 0=Nicht zulässig (5)$offsiteok, ob Weiterleitungen außerhalb der Website zugelassen werden sollen oder nicht (true)$expandlinks Ob alle Links zu vollständigen Adressen vervollständigt werden sollen (true)$user Authentifizierungsbenutzername, wenn ja$pass Authentifizierungs-Benutzername, Wenn ja$accept http Typen akzeptieren (image/gif, image/x -xbitmap, image/jpeg, image/pjpeg, */*)$error Wo kann man einen Fehler melden, falls vorhanden$response_code Der vom Server zurückgegebene Antwortcode$headers Header-Informationen, die vom Server zurückgegeben wurden $ maxlength Maximal zurückgegebene Datenlänge$read_timeout Lesevorgang-Timeout ( erfordert PHP 4 Beta 4+) gesetzt auf 0 für kein Timeout $timed_out Wenn bei einem Lesevorgang eine Zeitüberschreitung auftritt, gibt diese Eigenschaft true zurück (erfordert PHP 4 Beta 4 +)$maxframes Maximale Anzahl von Frames, die verfolgt werden dürfen $status Der Status der erfassten http $temp_dir Temporäres Dateiverzeichnis, in das der Webserver schreiben kann (/tmp)$ curl_path cURL-Binärverzeichnis Verzeichnis , , wenn kein cURL-Binärverzeichnis vorhanden ist, wird auf false 4. Das Folgende ist die DemoKopiercodeinclude „Snoopy .class.php“;$ snoopy = neuer Snoopy;$snoopy->proxy_host = "www.phpoac.com";$snoopy-> Proxy_port = "8080";$ snoopy->agent = "(kompatibel; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)";$snoopy->referer = "http://www.phpoac.com/"; $snoopy->cookies["SessionID"] = 238472834723489l;$snoopy->cookies["favoriteColor"] = "RED";$snoopy ->rawheaders["Pragma"] = "no-cache";$snoopy->maxredirs = 2; $snoopy->offsiteok = false;$snoopy->expandlinks = false;$snoopy->user = "joe";$snoopy- >pass = "bloe";if($snoopy->fetchtext("http://www.phpoac.com")){echo "
".htmlspecialchars($snoopy-> ;Ergebnisse)."n"