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 fckeditor 调用的函数
Jun 21 PHP
php下连接ftp实现文件的上传、下载、删除文件实例代码
Jun 03 PHP
屏蔽机器人从你的网站搜取email地址的php代码
Nov 14 PHP
php查看请求头信息获取远程图片大小的方法分享
Dec 25 PHP
php实现cc攻击防御和防止快速刷新页面示例
Feb 13 PHP
PHP使用Session遇到的一个Permission denied Notice解决办法
Jul 30 PHP
thinkphp3.2.2前后台公用类架构问题分析
Nov 25 PHP
php判断表是否存在的方法
Jun 18 PHP
PHP框架Laravel学习心得体会
Oct 28 PHP
WordPress中制作导航菜单的PHP核心方法讲解
Dec 11 PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
Apr 10 PHP
使用laravel根据用户类型来显示或隐藏字段
Oct 17 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
Zend的AutoLoad机制介绍
2012/09/27 PHP
PHP开发微信支付的代码分享
2014/05/25 PHP
JavaScript创建命名空间的5种写法
2014/06/24 PHP
PHP 中提示undefined index如何解决(多种方法)
2016/03/16 PHP
PHP实现小程序批量通知推送
2018/11/27 PHP
NodeJS的url截取模块url-extract的使用实例
2013/11/18 NodeJs
jquery创建表格(自动增加表格)代码分享
2013/12/25 Javascript
JavaScript从数组中删除指定值元素的方法
2015/03/18 Javascript
完美JQuery图片切换效果的简单实现
2016/07/21 Javascript
基于JSON格式数据的简单jQuery幻灯片插件(jquery-slider)
2016/08/10 Javascript
jquery单击文字或图片内容放大并居中显示
2017/06/23 jQuery
微信小程序支付之c#后台实现方法
2017/10/19 Javascript
vue中实现methods一个方法调用另外一个方法
2018/02/08 Javascript
在vue项目中使用element-ui的Upload上传组件的示例
2018/02/08 Javascript
开发用到的js封装方法(20种)
2018/10/12 Javascript
[41:17]VG vs Optic 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[01:07:46]完美世界DOTA2联赛循环赛 Magma vs IO BO2第二场 11.01
2020/11/02 DOTA
python爬虫获取京东手机图片的图文教程
2017/12/29 Python
Python中按值来获取指定的键
2019/03/04 Python
浅谈python多进程共享变量Value的使用tips
2019/07/16 Python
Django工程的分层结构详解
2019/07/18 Python
python列表删除和多重循环退出原理详解
2020/03/26 Python
ASOS比利时:英国线上零售商及自有品牌
2018/07/29 全球购物
豪华复古化妆:Besame Cosmetics
2019/09/06 全球购物
ABOUT YOU罗马尼亚:超过600个时尚品牌
2019/09/19 全球购物
师范应届毕业生自荐信
2013/11/18 职场文书
行政总经理岗位职责
2013/12/05 职场文书
法务专员岗位职责
2014/01/02 职场文书
学校安全教育制度
2014/01/31 职场文书
关于奉献的演讲稿
2014/05/21 职场文书
禁止高声喧哗的标语
2014/06/11 职场文书
城市轨道交通工程职业生涯规划书范文
2014/09/16 职场文书
员工升职自我评价
2019/03/26 职场文书
个人道歉信大全
2019/04/11 职场文书
入党心得体会
2019/06/20 职场文书
使用Djongo模块在Django中使用MongoDB数据库
2021/06/20 Python