Maison  >  Article  >  développement back-end  >  Comment utiliser l'URL pour obtenir du contenu Web en php

Comment utiliser l'URL pour obtenir du contenu Web en php

小云云
小云云original
2018-03-27 09:12:584582parcourir

Il est très pratique d'obtenir le contenu d'une page Web basé sur une URL en PHP. Vous pouvez transmettre la fonction intégrée au système file_get_contents() et transmettre l'URL pour renvoyer le contenu de la page Web. pour obtenir le contenu de la page d'accueil de Baidu est :

<?php  
$html = file_get_contents(&#39;http://www.baidu.com/&#39;);  
  
echo $html;

peut afficher le contenu de la page d'accueil de Baidu. Cependant, cette fonction n'est pas omnipotente, car certains serveurs désactiveront cette fonction, ou cette fonction est rejetée par le serveur. car il ne transmet pas certains paramètres nécessaires au serveur. Par exemple :

<?php  
$html = file_get_contents(&#39;http://www.163.com/&#39;);  
  
echo $html;

Ce code ne peut pas obtenir le code complet de la page d'accueil de NetEase, et renverra la page suivante. d'autres méthodes.

Nous présentons ici la bibliothèque cURL de php, qui peut capturer facilement et efficacement des pages Web. Il vous suffit d'exécuter un script et d'analyser les pages Web que vous avez explorées, puis vous pourrez obtenir les données souhaitées par programme. Que vous souhaitiez récupérer des données partielles d'un lien, prendre un fichier XML et l'importer dans une base de données, ou même simplement récupérer le contenu d'une page Web, cURL est une puissante bibliothèque PHP. Pour l'utiliser, vous devez d'abord l'activer dans le fichier de configuration php. Lors de son ouverture, vous aurez peut-être besoin de quelques DLL dans Windows. Je ne crois pas à l'introduction ici. Pour vérifier si curl est activé, vous pouvez appeler phpinfo(); pour vérifier, s'il est activé, il sera affiché dans "Extensions chargées".

Ce qui suit est un exemple simple d'utilisation de curl pour obtenir le code d'une page Web :

<?php  
$ch = curl_init();  
$timeout = 10; // set to zero for no timeout  
curl_setopt ($ch, CURLOPT_URL,&#39;http://www.163.com/&#39;);  
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);   
curl_setopt ($ch, CURLOPT_USERAGENT, &#39;Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36&#39;);  
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);  
$html = curl_exec($ch);  
echo $html;

Avec ce code, vous pouvez afficher le contenu de la page d'accueil de NetEase. Le code marqué en rouge ici est. la clé, car Il simule l'agent du navigateur, de sorte que le serveur pense qu'il est accédé par le navigateur, il renverra donc le code HTML correct.

Recommandations associées :

php selon l'URL Obtenir du contenu web

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!

Déclaration:
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