Maison > développement back-end > Problème PHP > Qu'est-ce que PHP utilise pour la collecte de données ?

Qu'est-ce que PHP utilise pour la collecte de données ?

(*-*)浩
Libérer: 2023-02-24 11:06:02
original
2789 Les gens l'ont consulté

Qu'est-ce que la collecte ?

Il s'agit d'utiliser un programme PHP pour capturer des informations provenant d'autres sites Web dans notre propre base de données et notre propre site Web.

Qu'est-ce que PHP utilise pour la collecte de données ?

Technologie de production et de collecte PHP :

Du socket inférieur à la fonction d'exploitation de fichiers de haut niveau, il existe un total de 3 méthodes. Implémenter la collecte.

1. Utilisez la technologie socket pour collecter : (Apprentissage recommandé : Programmation PHP de l'entrée à la maîtrise)

La collection de sockets est le niveau le plus bas. Cela établit simplement une longue connexion, puis nous devons construire nous-mêmes la chaîne de protocole http pour envoyer la requête.

Par exemple, si vous souhaitez obtenir le contenu de la page Youku, écrivez ce qui suit en utilisant socket :

<?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);  
?>
Copier après la connexion

Le résultat imprimé est le suivant, y compris les informations d'en-tête renvoyées et le code source de la page :

Quest-ce que PHP utilise pour la collecte de données ?

2. Utilisez curl_un ensemble de fonctions

curl encapsule le protocole HTTP dans de nombreuses fonctions, et vous pouvez transmettre directement les paramètres correspondants, ce qui réduit le temps d'écriture et la difficulté des chaînes du protocole HTTP.

Prérequis : L'extension curl doit être activée dans php.ini.

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));
Copier après la connexion

Le résultat imprimé est le suivant, incluant uniquement le code source de la page :

Quest-ce que PHP utilise pour la collecte de données ?

Utilisez directement file_get_contents (niveau supérieur). )

Prérequis : Définir l'adresse url qui permet d'ouvrir un réseau dans php.ini.

Quest-ce que PHP utilise pour la collecte de données ?

//使用file_get_contents()  
$data=file_get_contents("http://www.youku.com");  
var_dump($data);
Copier après la connexion

Quest-ce que PHP utilise pour la collecte de données ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers numéros
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal