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+mysql事务rollback&commit示例
Feb 08 PHP
PHP字符串处理的10个简单方法
Jun 30 PHP
PHP用SAX解析XML的实现代码与问题分析
Aug 22 PHP
解决CodeIgniter伪静态失效
Jun 09 PHP
php smarty truncate UTF8乱码问题解决办法
Jun 13 PHP
PHP直接修改表内容DataGrid功能实现代码
Sep 24 PHP
PHP通过引用传递参数用法分析
Dec 01 PHP
php如何修改SESSION的生存存储时间的实例代码
Jul 05 PHP
启用OPCache提高PHP程序性能的方法
Mar 21 PHP
php实现网页上一页下一页翻页过程详解
Jun 28 PHP
Yii2.0框架behaviors方法使用实例分析
Sep 30 PHP
解决Laravel无法使用COOKIE和SESSION的问题
Oct 16 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
解析php安全性问题中的:Null 字符问题
2013/06/21 PHP
PHP QRCODE生成彩色二维码的方法
2016/05/19 PHP
php 访问oracle 存储过程实例详解
2017/01/08 PHP
解决laravel id非自增 模型取回为0 的问题
2019/10/11 PHP
使用Jquery搭建最佳用户体验的登录页面之记住密码自动登录功能(含后台代码)
2011/07/10 Javascript
15款优秀的jQuery导航菜单插件分享
2011/07/19 Javascript
Jquery each方法跳出循环,并获取返回值(实例讲解)
2013/12/12 Javascript
JavaScript极简入门教程(三):数组
2014/10/25 Javascript
JavaScript使用pop方法移除数组最后一个元素用法实例
2015/04/06 Javascript
使用JavaScript为Kindeditor自定义按钮增加Audio标签
2016/03/18 Javascript
分享一个插件实现水珠自动下落效果
2016/06/01 Javascript
jQuery通过ajax请求php遍历json数组到table中的代码(推荐)
2016/06/12 Javascript
微信小程序 教程之条件渲染
2016/10/18 Javascript
详解Python中logging日志模块在多进程环境下的使用
2016/12/26 Javascript
JS打开摄像头并截图上传示例
2017/02/18 Javascript
Angular实现的内置过滤器orderBy排序与模糊查询功能示例
2017/12/29 Javascript
javascript的惯性运动实现代码实例
2019/09/07 Javascript
举例讲解Django中数据模型访问外键值的方法
2015/07/21 Python
python 自动化将markdown文件转成html文件的方法
2016/09/23 Python
python 创建弹出式菜单的实现代码
2017/07/11 Python
python在非root权限下的安装方法
2018/01/23 Python
Python迭代器与生成器用法实例分析
2018/07/09 Python
python实现tail实时查看服务器日志示例
2019/12/24 Python
Java如何基于wsimport调用wcf接口
2020/06/17 Python
基于Python爬取搜狐证券股票过程解析
2020/11/18 Python
python爬虫中url管理器去重操作实例
2020/11/30 Python
python BeautifulSoup库的安装与使用
2020/12/17 Python
审核会计岗位职责
2013/11/08 职场文书
法律专业应届生自荐信范文
2014/01/06 职场文书
中考标语大全
2014/06/05 职场文书
安全承诺书格式范本
2015/04/28 职场文书
作弊检讨书范文
2015/05/06 职场文书
试用期转正工作总结2015
2015/05/28 职场文书
卫生主题班会
2015/08/14 职场文书
2019银行员工个人工作自我鉴定
2019/06/27 职场文书
Python可视化神器pyecharts之绘制箱形图
2022/07/07 Python