Heim > Backend-Entwicklung > PHP-Problem > Was verwendet PHP zur Datenerfassung?

Was verwendet PHP zur Datenerfassung?

(*-*)浩
Freigeben: 2023-02-24 11:06:02
Original
2709 Leute haben es durchsucht

Was ist eine Sammlung?

Es geht darum, mithilfe eines PHP-Programms Informationen von anderen Websites in unsere eigene Datenbank und Website zu erfassen.

Was verwendet PHP zur Datenerfassung?

PHP-Produktions- und Sammeltechnologie:

Vom unteren Socket bis zur Dateioperationsfunktion auf hoher Ebene gibt es drei Methoden insgesamt.

1. Verwenden Sie die Socket-Technologie, um Folgendes zu sammeln: (Empfohlenes Lernen: PHP-Programmierung vom Einstieg bis zur Beherrschung)

Socket-Sammlung ist die niedrigste Stufe. Es wird lediglich eine lange Verbindung hergestellt, und dann müssen wir selbst die HTTP-Protokollzeichenfolge erstellen, um die Anfrage zu senden.

Wenn Sie beispielsweise den Inhalt der Youku-Seite abrufen möchten, verwenden Sie Socket, um Folgendes zu schreiben:

<?php  
//连接,$error错误编号,$errstr错误的字符串,30s是连接超时时间  
$fp=fsockopen("www.youku.com",80,$errno,$errstr,30);  
if(!$fp) die("连接失败".$errstr);  
   
//构造http协议字符串,因为socket编程是最底层的,它还没有使用http协议  
$http="GET /?spm=a2hww.20023042.topNav.5~1~3!2~A HTTP/1.1\r\n";   //  \r\n表示前面的是一个命令  
$http.="Host:www.youku.com\r\n";  //请求的主机  
$http.="Connection:close\r\n\r\n";   // 连接关闭,最后一行要两个\r\n  
   
//发送这个字符串到服务器  
fwrite($fp,$http,strlen($http));  
//接收服务器返回的数据  
$data=&#39;&#39;;  
while (!feof($fp)) {  
$data.=fread($fp,4096);  //fread读取返回的数据,一次读取4096字节  
}  
//关闭连接  
fclose($fp);  
var_dump($data);  
?>
Nach dem Login kopieren

Das gedruckte Ergebnis sieht wie folgt aus, einschließlich der zurückgegebenen Header-Informationen und des Quellcodes der Seite:

Was verwendet PHP zur Datenerfassung?

2. Verwenden Sie curl_a eine Reihe von Funktionen

curl kapselt das HTTP-Protokoll in viele Funktionen, und Sie können Übergeben Sie die entsprechenden Parameter direkt, wodurch die Schreibzeit und die Schwierigkeit von HTTP-Protokollzeichenfolgen verringert werden.

Voraussetzung: Die Curl-Erweiterung muss in php.ini aktiviert sein.

function getHTTPS($url) {
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  curl_setopt($ch, CURLOPT_HEADER, false);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_REFERER, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  $result = curl_exec($ch);
  curl_close($ch);
  return $result;
}
var_dump(getHTTPS($url));
Nach dem Login kopieren

Das gedruckte Ergebnis ist wie folgt, einschließlich nur des Quellcodes der Seite:

Was verwendet PHP zur Datenerfassung?

3. Verwenden Sie direkt file_get_contents (top-level )

Voraussetzung: Legen Sie die URL-Adresse fest, die das Öffnen eines Netzwerks in php.ini ermöglicht.

Was verwendet PHP zur Datenerfassung?

//使用file_get_contents()  
$data=file_get_contents("http://www.youku.com");  
var_dump($data);
Nach dem Login kopieren

Was verwendet PHP zur Datenerfassung?

Das obige ist der detaillierte Inhalt vonWas verwendet PHP zur Datenerfassung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage