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 相关文章推荐
完美实现GIF动画缩略图的php代码
Jan 02 PHP
yii框架中的Url生产问题小结
Jan 16 PHP
探讨方法的重写(覆载)详解
Jun 08 PHP
解析PHP实现多进程并行执行脚本
Jun 18 PHP
php实现TCP端口检测的方法
Apr 01 PHP
PHP实现加强版加密解密类实例
Jul 29 PHP
Android App中DrawerLayout抽屉效果的菜单编写实例
Mar 21 PHP
thinkPHP3.2简单实现文件上传的方法
May 16 PHP
PHP实现的登录页面信息提示功能示例
Jul 24 PHP
在TP5数据库中四个字段实现无限分类的示例
Oct 18 PHP
Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
May 15 PHP
eval(cmd)与eval($cmd)的区别与联系
Jul 07 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 ob_start()控制浏览器cache、生成html实现代码
2010/02/16 PHP
PHP中一些可以替代正则表达式函数的字符串操作函数
2014/11/17 PHP
php插入排序法实现数组排序实例
2015/02/16 PHP
微信公众号开发之获取位置信息php代码
2018/06/13 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
2019/10/18 PHP
用js实现手把手教你月入万刀(转贴)
2007/11/07 Javascript
Javascript 获取链接(url)参数的方法
2009/02/15 Javascript
jquery如何判断某元素是否具备指定的样式
2013/11/05 Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
2013/11/21 Javascript
node.js中的console.info方法使用说明
2014/12/09 Javascript
使用AngularJS实现表单向导的方法
2015/06/19 Javascript
javascript实现dom元素可拖动
2016/03/21 Javascript
JS 在数组指定位置插入/删除数据的方法
2017/01/12 Javascript
Angular.js与node.js项目里用cookie校验账户登录详解
2017/02/22 Javascript
Vue实现virtual-dom的原理简析
2017/07/10 Javascript
vue.js 使用axios实现下载功能的示例
2018/03/05 Javascript
解决angularjs WdatePicker ng-model的问题
2018/09/13 Javascript
利用PHP实现递归删除链表元素的方法示例
2020/10/23 Javascript
Python正则表达式介绍
2012/08/06 Python
Python获取文件ssdeep值的方法
2014/10/05 Python
使用Python导出Excel图表以及导出为图片的方法
2015/11/07 Python
Python的面向对象编程方式学习笔记
2016/07/12 Python
浅谈python连续赋值可能引发的错误
2018/11/10 Python
python实现抖音点赞功能
2019/04/07 Python
Python实现字符型图片验证码识别完整过程详解
2019/05/10 Python
Python django框架应用中实现获取访问者ip地址示例
2019/05/17 Python
django 自定义filter 判断if var in list的例子
2019/08/20 Python
巴西电子产品购物网站:Saldão da Informática
2018/01/09 全球购物
泰国Robinson百货官网:购买知名品牌的商品
2020/02/08 全球购物
Penhaligon’s英国官网:成立于1870年的英国香水制造商
2021/02/18 全球购物
大学生实习期自我评价范文
2013/10/03 职场文书
降消项目实施方案
2014/03/30 职场文书
计算机应用专业毕业生求职信
2014/06/03 职场文书
男生贾里读书笔记
2015/06/30 职场文书
2016公司年会主持词
2015/07/01 职场文书
Nginx安装配置详解
2022/06/25 Servers