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 相关文章推荐
NO3第三帝国留言簿制作过程
Oct 09 PHP
PHP 基于Yii框架中使用smarty模板的方法详解
Jun 13 PHP
php查找任何页面上的所有链接的方法
Dec 03 PHP
windows7下安装php的imagick和imagemagick扩展教程
Jul 04 PHP
php array_keys 返回数组的键名
Oct 25 PHP
Zend Framework上传文件重命名的实现方法
Nov 25 PHP
PHP读取Excel类文件
May 15 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
May 24 PHP
php 猴子摘桃的算法
Jun 20 PHP
Laravel5.* 打印出执行的sql语句的方法
Jul 24 PHP
利用Homestead快速运行一个Laravel项目的方法详解
Nov 14 PHP
php解压缩zip和rar压缩包文件的方法
Jul 10 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中GET变量的使用
2006/10/09 PHP
PHPExcel读取Excel文件的实现代码
2011/12/06 PHP
PHP面向对象多态性实现方法简单示例
2017/09/27 PHP
PHP递归算法的简单实例
2019/02/28 PHP
jquery模拟按下回车实现代码
2011/09/20 Javascript
JavaScript 上万关键字瞬间匹配实现代码
2013/07/07 Javascript
JavaScript将数组转换成CSV格式的方法
2015/03/19 Javascript
js制作带有遮罩弹出层实现登录注册表单特效代码分享
2015/09/05 Javascript
JS+CSS实现闪烁字体效果代码
2016/04/05 Javascript
Node.js+Express配置入门教程
2016/05/19 Javascript
AngularJS实践之使用NgModelController进行数据绑定
2016/10/08 Javascript
基于vuejs+webpack的日期选择插件
2020/05/21 Javascript
利用PM2部署node.js项目的方法教程
2017/05/10 Javascript
详解如何使用webpack在vue项目中写jsx语法
2017/11/08 Javascript
vue双向数据绑定知识点总结
2018/04/18 Javascript
electron中使用bootstrap的示例代码
2018/11/06 Javascript
vue 使用rules对表单字段进行校验的步骤
2020/12/25 Vue.js
python抓取网页中的图片示例
2014/02/28 Python
Python中的特殊语法:filter、map、reduce、lambda介绍
2015/04/14 Python
在Django同1个页面中的多表单处理详解
2017/01/25 Python
Python语法分析之字符串格式化
2019/06/13 Python
Python实现获取系统临时目录及临时文件的方法示例
2019/06/26 Python
python中下标和切片的使用方法解析
2019/08/27 Python
python list数据等间隔抽取并新建list存储的例子
2019/11/27 Python
英国皇室御用百货:福南梅森(Fortnum & Mason)
2017/12/03 全球购物
三星法国官方网站:Samsung法国
2019/10/31 全球购物
科颜氏印度官网:Kiehl’s印度
2021/02/20 全球购物
ruby如何进行集成操作?Ruby能进行多重继承吗?
2013/10/16 面试题
采购意向书范本
2014/03/31 职场文书
大学本科生职业生涯规划书范文
2014/09/14 职场文书
公司授权委托书样本
2014/09/15 职场文书
限期整改通知书
2015/04/22 职场文书
python中sys模块的介绍与实例
2021/04/17 Python
Python实现文本文件拆分写入到多个文本文件的方法
2021/04/18 Python
Python 发送SMTP邮件的简单教程
2021/06/24 Python
JavaScript原型链中函数和对象的理解
2022/06/16 Javascript