PHP获取网页内容的方法

来源:互联网 发布:股票网络投票怎么投 编辑:程序博客网 时间:2024/05/16 12:18


 PHP Liad  2个月前 (11-10)  393℃

这里收集了3种利用php获得网页源代码抓取网页内容的方法,我们可以根据实际需要选用。

1、使用file_get_contents获得网页源代码

这个方法最常用,只需要两行代码即可,非常简单方便。

参考代码:

  1.  
  2. $fh= file_get_contents('http://www.webkaka.com/');
  3.  
  4. echo $fh;
  5.  

2、使用fopen获得网页源代码

这个方法用的人也不少,不过代码有点多。

参考代码:

  1.  
  2. $fh = fopen('http://www.webkaka.com/', 'r');
  3.  
  4. if($fh){
  5.  
  6. while(!feof($fh)) {
  7.  
  8. echo fgets($fh);
  9.  
  10. }
  11.  
  12. }
  13.  

3、使用curl获得网页源代码

使用curl获得网页源代码的做法,往往是需要更高要求的人使用,例如当你需要在抓取网页内容的同时,得到网页header信息,还有ENCODING编码的使用,USERAGENT的使用等等。

参考代码一:

  1.  
  2. $ch = curl_init();// 创建一个新cURL资源
  3.  
  4. curl_setopt($ch, CURLOPT_URL, "http://www.webkaka.com/");// 设置URL和相应的选项
  5.  
  6. curl_setopt($ch, CURLOPT_HEADER, false);
  7.  
  8.  
  9. $data = curl_exec($ch);// 抓取URL并把它传递给浏览器
  10.  
  11. echo $data;//输入结果
  12.  
  13. curl_close($ch);//关闭cURL资源,并且释放系统资源
  14.  

复制代码
参考代码二:

  1.  
  2. $szUrl = "http://www.webkaka.com/";
  3.  
  4. $UserAgent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 3.5.21022; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';
  5.  
  6. $curl = curl_init();
  7.  
  8. curl_setopt($curl, CURLOPT_URL, $szUrl);
  9.  
  10. curl_setopt($curl, CURLOPT_HEADER, 0); //0表示不输出Header,1表示输出
  11.  
  12. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  13.  
  14. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  15.  
  16. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
  17.  
  18. curl_setopt($curl, CURLOPT_ENCODING, '');
  19.  
  20. curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent);
  21.  
  22. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  23.  
  24. $data = curl_exec($curl);
  25.  
  26. echo $data;
  27.  
  28. //echo curl_errno($curl); //返回0时表示程序执行成功 如何从curl_errno返回值获取错误信息
  29.  
  30. exit();
  31.  

上例里使用了几个curl_setopt()参数的定义,HEADER、ENCODING、USERAGENT等,可以参考这里http://cn2.php.net/curl_setopt查看更多参数及用途。

需要注意的是,在使用curl_init()之前,你需要做下php.ini的安全设置,否则该函数不能执行

0 0
原创粉丝点击