Heim > Backend-Entwicklung > PHP-Tutorial > php获取网页内容的三种方法

php获取网页内容的三种方法

WBOY
Freigeben: 2016-07-25 08:58:16
Original
2378 Leute haben es durchsucht
本文介绍下,php实现获取网页内容的三种方法,有需要的朋友,参考下吧。

用php代码实现获取网页的原理: 将抓取内容,通过正则表达式过滤,得到想要的内容。

关于正则表达式的内容,程序员之家介绍了很多,大家可以参考学习下。

php获取内容,方法1,file_get_contents

<?php 
$url = "http://bbs.it-home.org"; 
$contents = file_get_contents($url); 
//如果出现中文乱码使用下面代码 
//$getcontent = iconv("gb2312", "utf-8",$contents); 
echo $contents; 
?>
Nach dem Login kopieren

php获取网页内容,方法2,curl

<?php 
$url = "http://bbs.it-home.org"; 
$ch = curl_init(); 
$timeout = 5; 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
//在需要用户检测的网页里需要增加下面两行 
//curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); 
//curl_setopt($ch, CURLOPT_USERPWD, US_NAME.":".US_PWD); 
$contents = curl_exec($ch); 
curl_close($ch); 
echo $contents; 
?>
Nach dem Login kopieren

php获取网页内容,方法3,fopen->fread->fclose

<?php 
$handle = fopen ("http://bbs.it-home.org", "rb"); 
$contents = ""; 
do { 
$data = fread($handle, 1024); 
if (strlen($data) == 0) { 
break; 
} 
$contents .= $data; 
} while(true); 
fclose ($handle); 
echo $contents; 
?>
Nach dem Login kopieren

注意: 1,使用file_get_contents()和fopen()必须开启allow_url_fopen。 方法: 编辑php.ini,设置 allow_url_fopen = On,allow_url_fopen关闭时,fopen()和file_get_contents()函数,都无法打开远程文件。

2,使用curl(),必须空间开启curl。 方法: windows下,修改php.ini,将extension=php_curl.dll前面的分号去掉,然后拷贝ssleay32.dll和libeay32.dll到C:\WINDOWS\system32下; Linux下,安装curl扩展即可。



Verwandte Etiketten:
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