Heim > Artikel > Backend-Entwicklung > Detaillierte Erklärung, wie PHP Remote-Code-Instanzen liest oder abruft
PHP-Code zum Crawlen entfernter Website-Daten
Jetzt gibt es möglicherweise viele Programmbegeisterte, die auf die gleiche Frage stoßen, nämlich wie man die Websites anderer Leute wie HTML einer Suchmaschine crawlen kann Code, und dann sammeln und organisieren Sie den Code in nützliche Daten!
Ⅰ Beispiel für das Erfassen des Titels einer Remote-Webseite:
<?php /* +------------------------------------------------------------- +抓取网页标题的代码,直接拷贝本代码片段,另存为.php文件执行即可. +------------------------------------------------------------- */ error_reporting (7); $file = fopen ("http://www.php.cn/", "r"); if (!$file) { echo "<font color=red>Unable to open remote file.</font>\n"; exit; } while (!feof ($file)) { $line = fgets ($file, 1024); if (eregi ("<title>(.*)</title>", $line, $out)) { $title = $out[1]; echo "".$title.""; break; } } fclose($file); //End ?>Ⅱ. Beispiel für das Erfassen des HTML-Codes einer Remote-Webseite:
Das Folgende ist der Codeausschnitt:
<? php /* +---------------- +DNSing Sprider +---------------- */ $fp = fsockopen("www.php.cn", 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br/>\n"; } else { $out = "GET / HTTP/1.1\r\n"; $out .= "Host:www.php.cn\r\n"; $out .= "Connection: Close \r\n\r\n"; fputs($fp, $out); while (!feof($fp)) { echo fgets($fp, 128); } fclose($fp); } //End ?>Kopieren Sie die beiden oben genannten Codeausschnitte direkt und führen Sie sie zurück Um den Effekt zu sehen, ist das obige Beispiel nur ein Prototyp zum Erfassen von Webseitendaten
filesize
Hinweis: Da PHPs
Integer-Typ ist ist signiert und die meisten Plattformen verwenden 32-Bit-Ganzzahlen. Die Funktion filesize() kann unerwartete Ergebnisse zurückgeben, wenn Dateien größer als 2 GB sind. Bei Dateien zwischen 2 GB und 4 GB kann dies normalerweise der Fall sein Wird verwendet, um dieses Problem zu lösen. fread() liest bis zu Längenbytes aus dem Dateizeigerhandle. Die Funktion stoppt, wenn Längenbytes erreicht sind oder (für Netzwerkstreams) wenn ein Paket verfügbar ist 🎜>Lesen Sie die Datei
, je nachdem, welche Situation zuerst auftritt Hinweis: Geringe Versionsnutzung Es wird empfohlen, file_get_contents
für PHP5 zu verwenden file_get_contents -- get die gesamte Datei einlesen
string string file_get_contents ( string filename [, int use_include_path [, resources context]])
Die Funktion file_get_contents() ist die bevorzugte Methode zum Einlesen des Inhalts einer Datei in eine Zeichenfolge. Wenn das Betriebssystem dies unterstützt, wird auch die Speicherzuordnungstechnologie verwendet, um die Leistung zu verbessern.
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie PHP Remote-Code-Instanzen liest oder abruft. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!