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 相关文章推荐
15个小时----从修改程序到自己些程序
Oct 09 PHP
PHP扩展编写点滴 技巧收集
Mar 09 PHP
注册页面之前先验证用户名是否存在的php代码
Jul 14 PHP
实测在class的function中include的文件中非php的global全局环境
Jul 15 PHP
yii中widget的用法
Dec 03 PHP
PHP基于MySQL数据库实现对象持久层的方法
Jun 17 PHP
PHP获取文件夹大小函数用法实例
Jul 01 PHP
php-redis中的sort排序函数总结
Jul 08 PHP
详解PHP匿名函数与注意事项
Mar 29 PHP
PHP常用的三种设计模式
Feb 17 PHP
Thinkphp开发--集成极光推送
Sep 15 PHP
PHP示例演示发送邮件给某个邮箱
Apr 03 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设计模式 php实现模板方法模式
2015/12/08 PHP
php微信开发之关注事件
2018/06/14 PHP
php 利用socket发送GET,POST请求的实例代码
2020/07/04 PHP
JS 学习笔记 防止发生命名冲突
2009/07/30 Javascript
jQuery 技巧小结
2010/04/02 Javascript
Jquery submit()无法提交问题
2013/04/21 Javascript
javascript实现简单的页面右下角提示信息框
2015/07/31 Javascript
Javascript技术难点之apply,call与this之间的衔接
2015/12/04 Javascript
详解javascript事件冒泡
2016/01/09 Javascript
jQuery Form 表单提交插件之formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的应用
2016/01/23 Javascript
JS实现简单短信验证码界面
2017/08/07 Javascript
layui之select的option叠加问题的解决方法
2018/03/08 Javascript
详解Vue.js项目API、Router配置拆分实践
2018/03/16 Javascript
JavaScript中的各种宽高属性的实现
2020/05/08 Javascript
浅谈vue.watch的触发条件是什么
2020/11/07 Javascript
python的绘图工具matplotlib使用实例
2014/07/03 Python
python使用webbrowser浏览指定url的方法
2015/04/04 Python
python中快速进行多个字符替换的方法小结
2016/12/15 Python
Python的装饰器使用详解
2017/06/26 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
2018/04/23 Python
PyTorch上搭建简单神经网络实现回归和分类的示例
2018/04/28 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
2019/06/26 Python
Django对数据库进行添加与更新的例子
2019/07/12 Python
python基于socket函数实现端口扫描
2020/05/28 Python
python反爬虫方法的优缺点分析
2020/11/25 Python
通过HTML5 Canvas API绘制弧线和圆形的教程
2016/03/14 HTML / CSS
在线吉他课程,学习如何弹吉他:Fender Play
2019/02/28 全球购物
耐克奥地利官网:Nike奥地利
2019/08/16 全球购物
大一军训感言
2014/01/09 职场文书
投资合作协议书
2014/04/17 职场文书
酒店管理失职检讨书
2014/09/16 职场文书
见习报告怎么写
2014/10/31 职场文书
暑期家教宣传单
2015/07/14 职场文书
OpenCV3.3+Python3.6实现图片高斯模糊
2021/05/18 Python
使用canvas对video视频某一刻截图功能
2021/09/25 HTML / CSS
Win11 S Mode版本泄露 正式上线后叫做Windows 11 SE
2021/11/21 数码科技