当前位置:首页 > PHP教程 > php应用 > 列表

PHP中4种常用的抓取网络数据方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-27 15:11:04 浏览: 评论:0 

这篇文章主要介绍了PHP中4种常用的抓取网络数据方法,本文讲解使用file_get_contents函数、fopen函数、curl库三种常见方法抓取网络数据,并给出了代码实例,需要的朋友可以参考下。

本小节的名称为 fsockopen,curl与file_get_contents,具体是探讨这三种方式进行网络数据输入输出的一些汇总。关于 fsockopen 前面已经谈了不少,下面开始转入其它。这里先简单罗列一下一些常见的抓取网络数据的一些方法。

1. 用 file_get_contents 以 get 方式获取内容:

  1. $url = 'http://localhost/test2.php'
  2. $html = file_get_contents($url); 
  3. echo $html

2. 用fopen打开url,以get方式获取内容

  1. $url = 'http://localhost/test2.php'
  2. $fp = fopen($url'r'); 
  3. stream_get_meta_data($fp); 
  4. $result = ''
  5. while(!feof($fp)) 
  6.   $result .= fgets($fp, 1024); 
  7. echo "url body: $result"
  8. fclose($fp); 

3. 用file_get_contents函数,以post方式获取url

  1. $data = array
  2.  'foo'=>'bar'
  3.  'baz'=>'boom'
  4.  'site'=>'www.phpfensi.com'
  5.  'name'=>'nowa magic'); 
  6.    
  7. $data = http_build_query($data); 
  8.  
  9. //$postdata = http_build_query($data); 
  10. $options = array
  11.  'http' => array
  12.  'method' => 'POST'
  13.  'header' => 'Content-type:application/x-www-form-urlencoded'
  14.  'content' => $data 
  15.  //'timeout' => 60 * 60 // 超时时间(单位:s) 
  16.  ) 
  17. ); 
  18.  
  19. $url = "http://localhost/test2.php"
  20. $context = stream_context_create($options); 
  21. $result = file_get_contents($url, false, $context); 
  22.  
  23. echo $result

4、使用curl库,使用curl库之前,可能需要查看一下php.ini是否已经打开了curl扩展

  1. $url = 'http://localhost/test2.php?site=phpfensi.com'
  2. $ch = curl_init(); 
  3. $timeout = 5; 
  4. curl_setopt ($ch, CURLOPT_URL, $url); 
  5. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
  6. curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
  7. $file_contents = curl_exec($ch); 
  8. curl_close($ch); 
  9. echo $file_contents;

Tags: PHP抓取网络数据

分享到: