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安装问题
Oct 09 PHP
Linux下实现PHP多进程的方法分享
Aug 16 PHP
php实现按文件名搜索文件的远程文件查找器
May 10 PHP
PHP实现采集中国天气网未来7天天气
Oct 15 PHP
一款简单实用的php操作mysql数据库类
Dec 08 PHP
你应该知道PHP浮点数知识
May 13 PHP
浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
Oct 26 PHP
简单介绍PHP非阻塞模式
Mar 03 PHP
PHP图形计数器程序显示网站用户浏览量
Jul 20 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
Nov 14 PHP
YII2框架中查询生成器Query()的使用方法示例
Mar 18 PHP
解决Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]
Apr 06 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
四月新番又没了,《Re:从零开始的异世界生活》第二季延期至7月播出
2020/05/06 日漫
PHP配置文件中最常用四个ini函数
2007/03/19 PHP
php 生成静态页面的办法与实现代码详细版
2010/02/15 PHP
PHP实现的AES加密、解密封装类与用法示例
2018/08/02 PHP
PHP yield关键字功能与用法分析
2019/01/03 PHP
JS实现标签页效果(配合css)
2013/04/03 Javascript
jquery中选择块并改变属性值的方法
2013/07/31 Javascript
jquery用get实现ajax在ie里面刷新不进入后台解决方法
2013/08/12 Javascript
基于Jquery实现键盘按键监听
2014/05/11 Javascript
SuperSlide标签切换、焦点图多种组合插件
2015/03/14 Javascript
jQuery UI插件自定义confirm确认框的方法
2015/03/20 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
浅谈Sublime Text 3运行JavaScript控制台
2016/06/06 Javascript
用js实现博客打赏功能
2016/10/24 Javascript
jQuery自定义插件详解及实例代码
2016/12/29 Javascript
jQuery基于ajax实现页面加载后检查用户登录状态的方法
2017/02/10 Javascript
js实现音频控制进度条功能
2017/04/01 Javascript
ReactNative列表ListView的用法
2017/08/02 Javascript
Vue实现typeahead组件功能(非常靠谱)
2017/08/26 Javascript
利用nvm管理多个版本的node.js与npm详解
2017/11/02 Javascript
JS实现DOM删除节点操作示例
2018/04/04 Javascript
python实现自动更换ip的方法
2015/05/05 Python
批量获取及验证HTTP代理的Python脚本
2017/04/23 Python
python通过TimedRotatingFileHandler按时间切割日志
2019/07/17 Python
Python常用模块函数代码汇总解析
2020/08/31 Python
Python判断变量是否是None写法代码实例
2020/10/09 Python
全球才华横溢工匠的家居装饰、珠宝和礼物:NOVICA
2021/01/22 全球购物
维德科技C#面试题笔试题
2015/12/09 面试题
优秀研究生自我鉴定
2013/12/04 职场文书
培训协议书范本
2014/04/22 职场文书
会计专业自荐信
2014/06/03 职场文书
卫生院艾滋病宣传活动小结
2014/07/09 职场文书
法人授权委托书
2014/09/16 职场文书
党的群众路线领导班子整改方案
2014/09/27 职场文书
导游词之镇江西津古渡
2019/11/06 职场文书
详解redis分布式锁的这些坑
2021/05/19 Redis