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

 更新时间:2015年06月04日 10:58:46   投稿:junjie  
这篇文章主要介绍了PHP中4种常用的抓取网络数据方法,本文讲解使用file_get_contents函数、fopen函数、curl库三种常见方法抓取网络数据,并给出了代码实例,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

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

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

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

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

$url = 'http://localhost/test2.php';
$fp = fopen($url, 'r');
stream_get_meta_data($fp);
$result = '';
while(!feof($fp))
{
  $result .= fgets($fp, 1024);
}
echo "url body: $result";
fclose($fp);

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

$data = array(
 'foo'=>'bar',
 'baz'=>'boom',
 'site'=>'www.jb51.net',
 'name'=>'nowa magic');
 
$data = http_build_query($data);

//$postdata = http_build_query($data);
$options = array(
 'http' => array(
 'method' => 'POST',
 'header' => 'Content-type:application/x-www-form-urlencoded',
 'content' => $data
 //'timeout' => 60 * 60 // 超时时间(单位:s)
 )
);

$url = "http://localhost/test2.php";
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);

echo $result;

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

$url = 'http://localhost/test2.php?site=jb51.net';
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
echo $file_contents;

相关文章

  • PHP数组编码gbk与utf8互相转换的两种方法

    PHP数组编码gbk与utf8互相转换的两种方法

    这篇文章给大家分享了两种转换的方法,都可以实现PHP数组的编码进行相互转换。大家可以参考自己的实际情况进行选择哪一种方法,下面来一起看看吧。
    2016-09-09
  • 无JS,完全php面向过程数据分页实现代码

    无JS,完全php面向过程数据分页实现代码

    无JS,完全php面向过程数据分页实现代码,需要的朋友可以参考下
    2012-08-08
  • 详解PHP中的外观模式facade pattern

    详解PHP中的外观模式facade pattern

    这篇文章主要介绍了详解PHP中的外观模式facade pattern的详细用法以及代码实例,对此有需求的朋友参考下吧。
    2018-02-02
  • MYSQL环境变量设置方法

    MYSQL环境变量设置方法

    本文介绍了mysql数据库中环境变量的设置方法,如何设置mysql数据库的环境变量,有需要的朋友参考下
    2007-01-01
  • php中设置多级目录session的问题

    php中设置多级目录session的问题

    php默认会把session保存在 /tmp 下,但是当session文件过多时会对性能造成很大影响,设置分级目录是个好办法
    2011-08-08
  • WordPress网站性能优化指南

    WordPress网站性能优化指南

    很多博主都会感觉WordPress很慢?作为全世界最常用的建站和博客系统WordPress来说,在性能设计上肯定不会有太大的问题,WordPress开发团队也肯定也考虑到这个问题。那么 WordPress 效率问题主要是出在哪里呢?今天就给大家讲讲自己多年总结的 WordPress优化经验和技巧
    2015-11-11
  • php上传图片客户端和服务器端实现方法

    php上传图片客户端和服务器端实现方法

    这篇文章主要介绍了php上传图片客户端和服务器端实现方法,涉及php操作文件的技巧,涉及图片后缀验证、文件重命名等常用方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • Ajax+Jpgraph实现的动态折线图功能示例

    Ajax+Jpgraph实现的动态折线图功能示例

    这篇文章主要介绍了Ajax+Jpgraph实现的动态折线图功能,结合实例形式分析了ajax结合jpgraph.php类库绘制动态折线图的相关操作技巧,需要的朋友可以参考下
    2019-02-02
  • PHP四舍五入精确小数位及取整

    PHP四舍五入精确小数位及取整

    经常用到取整的函数,今天小小的总结一下!其实很简单,就是几个函数而已~~主要是:ceil,floor,round,intval
    2014-01-01

最新评论

?


http://www.vxiaotou.com