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 相关文章推荐
PHP简单系统查询模块代码打包下载
Jun 07 PHP
php 数组二分法查找函数代码
Feb 16 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
Apr 25 PHP
CURL状态码列表(详细)
Jun 27 PHP
PHP中time(),date(),mktime()区别介绍
Sep 28 PHP
php获取操作系统语言代码
Nov 04 PHP
Symfony2框架创建项目与模板设置实例详解
Mar 17 PHP
php实现留言板功能
Mar 05 PHP
Ubuntu 16.04下安装PHP 7过程详解
Mar 28 PHP
workerman结合laravel开发在线聊天应用的示例代码
Oct 30 PHP
PHP 枚举类型的管理与设计知识点总结
Feb 13 PHP
php 的多进程操作实践案例分析
Feb 28 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代码飞起来的40条小技巧(提升php效率)
2010/04/12 PHP
php导出csv文件,可导出前导0实例代码
2016/11/16 PHP
php实现产品加入购物车功能(1)
2020/07/23 PHP
PHP 中魔术常量的实例详解
2017/10/26 PHP
PHP常见的几种攻击方式实例小结
2019/04/29 PHP
用JavaScript将从数据库中读取出来的日期型格式化为想要的类型。
2009/08/15 Javascript
javascript 多种搜索引擎集成的页面实现代码
2010/01/02 Javascript
.NET微信公众号开发之创建自定义菜单
2015/07/16 Javascript
js精美的幻灯片画集特效代码分享
2015/08/29 Javascript
jQuery实现简单的点赞效果
2020/05/29 Javascript
JS模态窗口返回值兼容问题的完美解决方法
2016/05/28 Javascript
JS正则表达式验证账号、手机号、电话和邮箱是否合法
2017/03/08 Javascript
详解vue2.0脚手架的webpack 配置文件分析
2017/05/27 Javascript
p5.js入门教程之小球动画示例代码
2018/03/15 Javascript
关于微信公众号开发无法支付的问题解决
2018/12/28 Javascript
在vue中实现某一些路由页面隐藏导航栏的功能操作
2020/09/21 Javascript
pycharm 使用心得(九)解决No Python interpreter selected的问题
2014/06/06 Python
python使用正则表达式分析网页中的图片并进行替换的方法
2015/03/26 Python
在Python中使用M2Crypto模块实现AES加密的教程
2015/04/08 Python
用Python生成器实现微线程编程的教程
2015/04/13 Python
Python基于Socket实现的简单聊天程序示例
2017/08/05 Python
解决Python print 输出文本显示 gbk 编码错误问题
2018/07/13 Python
Python解析命令行读取参数之argparse模块
2019/07/26 Python
Tensorflow 实现将图像与标签数据转化为tfRecord文件
2020/02/17 Python
Lampenwelt德国:欧洲领先的灯具和照明在线商店
2018/08/05 全球购物
英国领先的电视购物零售商:Ideal World
2019/03/18 全球购物
小学教师师德师风演讲稿
2014/08/22 职场文书
实习协议书
2015/01/27 职场文书
放射科岗位职责
2015/02/14 职场文书
技术员岗位职责范本
2015/04/11 职场文书
大学生暑假实习总结
2015/07/13 职场文书
新兵入伍决心书
2015/09/22 职场文书
javascript canvas实现雨滴效果
2021/06/09 Javascript
开机音效回归! Windows 11重新引入开机铃声
2021/11/21 数码科技
SpringBoot 整合mongoDB并自定义连接池的示例代码
2022/02/28 MongoDB
postgresql中如何执行sql文件
2023/05/08 PostgreSQL