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


Posted in PHP onJune 04, 2015

本小节的名称为 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'=>'3water.com',
 '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=3water.com';
$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 相关文章推荐
PHP分页显示制作详细讲解
Dec 05 PHP
PHP初学者最感迷茫的问题小结
Mar 27 PHP
php park、unpark、ord 函数使用方法(二进制流接口应用实例)
Oct 19 PHP
PHP和.net中des加解密的实现方法
Feb 27 PHP
PHP学习笔记(二) 了解PHP的基本语法以及目录结构
Aug 04 PHP
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
Nov 04 PHP
PHP获取二维数组中某一列的值集合
Dec 25 PHP
PHP图像裁剪缩略裁切类源码及使用方法
Jan 07 PHP
php原生导出excel文件的两种方法(推荐)
Nov 19 PHP
详解Yii2 之 生成 URL 的方法
Jun 16 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
Aug 25 PHP
Laravel框架中自定义模板指令总结
Dec 17 PHP
php实现将上传word文件转为html的方法
Jun 03 #PHP
php 类自动载入的方法
Jun 03 #PHP
php操作memcache缓存方法分享
Jun 03 #PHP
php操作redis缓存方法分享
Jun 03 #PHP
php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)
Jun 03 #PHP
php使用GD实现颜色渐变实例
Jun 02 #PHP
PHP准确取得服务器IP地址的方法
Jun 02 #PHP
You might like
ThinkPHP静态缓存简单配置和使用方法详解
2016/03/23 PHP
简单的pgsql pdo php操作类实现代码
2016/08/25 PHP
php 基础函数
2017/02/10 PHP
PHP利用二叉堆实现TopK-算法的方法详解
2017/04/24 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
PHP APP微信提现接口代码
2018/09/30 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
js模拟弹出效果代码修正版
2008/08/07 Javascript
javascript Split方法,indexOf方法、lastIndexOf 方法和substring 方法
2009/03/21 Javascript
JQuery 学习技巧总结
2010/05/21 Javascript
js escape,unescape解决中文乱码问题的方法
2010/05/26 Javascript
为JavaScript类型增加方法的实现代码(增加功能)
2011/12/29 Javascript
js中的onchange和onpropertychange (onchange无效的解决方法)
2014/03/08 Javascript
jQuery 删除或是清空某个HTML元素示例
2014/08/04 Javascript
jQuery使用之标记元素属性用法实例
2015/01/19 Javascript
jquery遍历函数siblings()用法实例
2015/12/24 Javascript
实例详解AngularJS实现无限级联动菜单
2016/01/15 Javascript
JavaScript必知必会(六) delete in instanceof
2016/06/08 Javascript
详解webpack 多入口配置
2017/06/16 Javascript
JavaScript原型链与继承操作实例总结
2018/08/24 Javascript
JS+HTML5 Canvas实现简单的写字板功能示例
2018/08/30 Javascript
vue动态删除从数据库倒入列表的某一条方法
2018/09/29 Javascript
node app 打包工具pkg的具体使用
2019/01/17 Javascript
基于layui轮播图满屏是高度自适应的解决方法
2019/09/16 Javascript
记一次react前端项目打包优化的方法
2020/03/30 Javascript
利用Python将数值型特征进行离散化操作的方法
2018/11/06 Python
Python3 执行系统命令并获取实时回显功能
2019/07/09 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
Perfume’s Club英国官网:购买香水和护肤品
2019/11/02 全球购物
大学生职业生涯规划书模板
2014/01/03 职场文书
年终总结会主持词
2014/03/25 职场文书
美国留学经济担保书
2014/05/20 职场文书
2014年大学宣传部工作总结
2014/12/19 职场文书
导游词300字
2015/02/13 职场文书
党员反四风学习心得体会
2016/01/22 职场文书
再读《皇帝的新衣》的读后感悟!
2019/08/07 职场文书