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 相关文章推荐
用Socket发送电子邮件(利用需要验证的SMTP服务器)
Oct 09 PHP
下载文件的点击数回填
Oct 09 PHP
PHP中的string类型使用说明
Jul 27 PHP
php cli 小技巧
Jun 03 PHP
Youku 视频绝对地址获取的方法详解
Jun 26 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(三)
Jun 23 PHP
ThinkPHP自动完成中使用函数与回调方法实例
Nov 29 PHP
搭建自己的PHP MVC框架详解
Aug 16 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
Sep 22 PHP
PHP递归遍历文件夹去除注释并压缩php源代码的方法示例
May 23 PHP
yii2 上传图片的示例代码
Nov 02 PHP
php + ajax 实现的写入数据库操作简单示例
May 16 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实现用户登陆简单实例
2017/04/04 PHP
PHP7基于curl实现的上传图片功能
2018/05/11 PHP
User Scripts: Video Download by User Scripts
2007/05/14 Javascript
Jquery升级新版本后选择器的语法问题
2010/06/02 Javascript
基于jQuery的弹出框插件
2012/03/18 Javascript
json数据与字符串的相互转化示例
2013/09/18 Javascript
jquery的trigger和triggerHandler的区别示例介绍
2014/04/20 Javascript
实现网页页面跳转的几种方法(meta标签、js实现、php实现)
2014/05/20 Javascript
Jquery节点遍历next与nextAll方法使用示例
2014/07/22 Javascript
原生js制作简单的数字键盘
2015/04/24 Javascript
JQuery使用index方法获取Jquery对象数组下标的方法
2015/05/18 Javascript
浅析jquery数组删除指定元素的方法:grep()
2016/05/19 Javascript
JavaScript实现相册弹窗功能(zepto.js)
2016/06/21 Javascript
单击按钮发送验证码,出现倒计时的简单实例
2017/03/17 Javascript
页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)
2017/08/29 Javascript
使用Angular CLI生成路由的方法
2018/03/24 Javascript
react中使用swiper的具体方法
2018/05/15 Javascript
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
2019/02/19 Javascript
vue请求服务器数据后绑定不上的解决方法
2019/10/30 Javascript
python解析xml文件实例分享
2013/12/04 Python
python装饰器初探(推荐)
2016/07/21 Python
Python 实现选择排序的算法步骤
2018/04/22 Python
Python基于matplotlib画箱体图检验异常值操作示例【附xls数据文件下载】
2019/01/07 Python
利用python计算windows全盘文件md5值的脚本
2019/07/27 Python
Python @property使用方法解析
2019/09/17 Python
PyCharm 无法 import pandas 程序卡住的解决方式
2020/03/09 Python
Python 如何批量更新已安装的库
2020/05/26 Python
python不同版本的_new_不同点总结
2020/12/09 Python
Fossil加拿大官网:化石手表、手袋、首饰及配饰
2019/04/23 全球购物
杭州时比特电子有限公司SQL
2013/08/22 面试题
工商管理专业实习生自我鉴定
2013/09/29 职场文书
专科文秘应届生求职信
2013/11/18 职场文书
大学生学习2014年全国两会心得体会
2014/03/12 职场文书
医院护士工作检讨书
2014/10/26 职场文书
Python包管理工具pip的15 个使用小技巧
2021/05/17 Python
Vue操作Storage本地化存储
2022/04/29 Vue.js