php获取网页内容方法总结


Posted in PHP onDecember 04, 2008

抓取到的内容在通过正则表达式做一下过滤就得到了你想要的内容,至于如何用正则表达式过滤,在这里就不做介绍了,有兴趣的,以下就是几种常用的用php抓取网页中的内容的方法。
1.file_get_contents
PHP代码

<?php 
$url = "https://3water.com"; 
$contents = file_get_contents($url); 
//如果出现中文乱码使用下面代码 
//$getcontent = iconv("gb2312", "utf-8",$contents); 
echo $contents; 
?>

2.curl
PHP代码
<?php 
$url = "https://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); 
//在需要用户检测的网页里需要增加下面两行 
//curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); 
//curl_setopt($ch, CURLOPT_USERPWD, US_NAME.":".US_PWD); 
$contents = curl_exec($ch); 
curl_close($ch); 
echo $contents; 
?>

3.fopen->fread->fclose
PHP代码
<?php 
$handle = fopen ("https://3water.com", "rb"); 
$contents = ""; 
do { 
$data = fread($handle, 1024); 
if (strlen($data) == 0) { 
break; 
} 
$contents .= $data; 
} while(true); 
fclose ($handle); 
echo $contents; 
?>

注:
1.使用file_get_contents和fopen必须空间开启allow_url_fopen。方法:编辑php.ini,设置allow_url_fopen = On,allow_url_fopen关闭时fopen和file_get_contents都不能打开远程文件。
2.使用curl必须空间开启curl。方法:windows下修改php.ini,将extension=php_curl.dll前面的分号去掉,而且需要拷贝ssleay32.dll和libeay32.dll到C:\WINDOWS\system32下;Linux下要安装curl扩展。
PHP 相关文章推荐
手把手教你使用DedeCms V3的在线采集图文教程
Apr 03 PHP
php用header函数实现301跳转代码实例
Nov 25 PHP
php快递单号查询接口使用示例
May 05 PHP
浅谈php函数serialize()与unserialize()的使用方法
Aug 19 PHP
thinkphp模板用法和内容输出实例
Nov 28 PHP
php中JSON的使用与转换
Jan 14 PHP
ThinkPHP框架实现数据增删改
May 07 PHP
yii2.0整合阿里云oss上传单个文件的示例
Sep 19 PHP
thinkPHP5框架auth权限控制类与用法示例
Jun 12 PHP
PHP+RabbitMQ实现消息队列的完整代码
Mar 20 PHP
PHP中的self关键字详解
Jun 23 PHP
Laravel框架查询构造器 CURD操作示例
Sep 04 PHP
php smarty的预保留变量总结
Dec 04 #PHP
php 页面执行时间计算代码
Dec 04 #PHP
Zend Studio 无法启动的问题解决方法
Dec 04 #PHP
Optimizer与Debugger兼容性问题的解决方法
Dec 01 #PHP
Apache+php+mysql在windows下的安装与配置图解(最新版)
Nov 30 #PHP
discuz论坛 用户登录 后台程序代码
Nov 27 #PHP
php 移除数组重复元素的一点说明
Nov 27 #PHP
You might like
PHP_MySQL教程-第一天
2007/03/18 PHP
PHP5 字符串处理函数大全
2010/03/23 PHP
判断PHP数组是否为空的代码
2011/09/08 PHP
简单说说PHP优化那些事(经验分享)
2014/11/27 PHP
php自定义加密与解密程序实例
2014/12/31 PHP
JQuery开发的数独游戏代码
2010/10/29 Javascript
js 判断脚本加载完毕的代码
2011/07/13 Javascript
详解JavaScript中undefined与null的区别
2014/03/29 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
2015/09/17 Javascript
BootStrap智能表单实战系列(九)表单图片上传的支持
2016/06/13 Javascript
AngularJS入门教程之表单校验用法示例
2016/11/02 Javascript
HTML的select控件美化
2017/03/27 Javascript
详解如何在Vue2中实现组件props双向绑定
2017/03/29 Javascript
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
2017/06/09 jQuery
vue动态路由配置及路由传参的方式
2018/05/23 Javascript
element上传组件循环引用及简单时间倒计时的实现
2018/10/01 Javascript
easyUI使用分页过滤器对数据进行分页操作实例分析
2020/06/01 Javascript
浅析Python中的多重继承
2015/04/28 Python
Python编程实现从字典中提取子集的方法分析
2018/02/09 Python
Python实现的网页截图功能【PyQt4与selenium组件】
2018/07/12 Python
Django 外键的使用方法详解
2019/07/19 Python
Python利用for循环打印星号三角形的案例
2020/04/12 Python
Python3+SQLAlchemy+Sqlite3实现ORM教程
2021/02/16 Python
CSS教程:CSS3圆角属性
2009/04/02 HTML / CSS
大都会艺术博物馆商店:The Met Store
2018/06/22 全球购物
C#如何调用Word并打开一个Word文档
2013/05/08 面试题
网页设计个人找工作求职信
2013/11/28 职场文书
幼儿园运动会入场词
2014/02/10 职场文书
文明风采获奖感言
2014/02/18 职场文书
《生命的药方》教学反思
2014/04/08 职场文书
教师中国梦演讲稿
2014/04/23 职场文书
开学典礼策划方案
2014/05/28 职场文书
地球一小时宣传标语
2014/06/24 职场文书
班子成员四风问题自我剖析材料
2014/09/29 职场文书
腾讯云服务器部署前后分离项目之前端部署
2022/06/28 Servers
前端传参数进行Mybatis调用mysql存储过程执行返回值详解
2022/08/14 MySQL