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 UTF8 文件的签名问题
Oct 30 PHP
使用php发送有附件的电子邮件-(PHPMailer使用的实例分析)
Apr 26 PHP
php版小黄鸡simsimi聊天机器人接口分享
Jan 26 PHP
PHP中的Memcache详解
Apr 05 PHP
Laravel 5.3 学习笔记之 安装
Aug 28 PHP
Thinkphp5结合layer弹窗定制操作结果页面
Jul 07 PHP
PHP递归实现快速排序的方法示例
Dec 18 PHP
php统计数组不同元素的个数的实例方法
Sep 26 PHP
laravel添加前台跳转成功页面示例
Oct 22 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
Nov 25 PHP
PHP设计模式之组合模式定义与应用示例
Feb 01 PHP
YII2框架中behavior行为的理解与使用方法示例
Mar 13 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新闻发布系统教程
2014/05/09 PHP
PHPStrom中实用的功能和快捷键大全
2015/09/23 PHP
Thinkphp无限级分类代码
2015/11/11 PHP
Joomla语言翻译类Jtext用法分析
2016/05/05 PHP
php微信公众号开发之简答题
2018/10/20 PHP
Laravel框架Eloquent ORM修改数据操作示例
2019/12/03 PHP
Javascript 更新 JavaScript 数组的 uniq 方法
2008/01/23 Javascript
javascript web对话框与弹出窗口
2009/02/22 Javascript
jQuery 加上最后自己的验证
2009/11/04 Javascript
解决jquery操作checkbox火狐下第二次无法勾选问题
2014/02/10 Javascript
Ajax请求在数据量大的时候出现超时的解决方法
2014/02/27 Javascript
使用JS中的exec()方法构造正则表达式验证
2016/08/01 Javascript
轻松掌握JavaScript单例模式
2016/08/25 Javascript
深入理解Node module模块
2018/03/26 Javascript
layui实现图片虚拟路径上传,预览和删除的例子
2019/09/25 Javascript
vue点击页面空白处实现保存功能
2019/11/06 Javascript
HTML+JS实现“代码雨”效果源码(黑客帝国文字下落效果)
2020/03/17 Javascript
[42:32]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第二场 10.28
2020/10/28 DOTA
Python常用正则表达式符号浅析
2014/08/13 Python
Python中的引用和拷贝浅析
2014/11/22 Python
在Python的Django框架中调用方法和处理无效变量
2015/07/15 Python
用pandas中的DataFrame时选取行或列的方法
2018/07/11 Python
python字典嵌套字典的情况下找到某个key的value详解
2019/07/10 Python
基于pytorch的保存和加载模型参数的方法
2019/08/17 Python
Django form表单与请求的生命周期步骤详解
2020/06/07 Python
keras绘制acc和loss曲线图实例
2020/06/15 Python
英国著名的小众美容品牌网站:Alyaka
2017/08/08 全球购物
英国儿童设计师服装的领先零售商:Base
2019/03/17 全球购物
盖尔斯工厂店:GUESS Factory
2020/01/21 全球购物
煤矿机修工岗位职责
2014/02/07 职场文书
《黄山奇石》教学反思
2014/04/19 职场文书
保证书范文大全
2014/04/28 职场文书
创建文明城市标语
2014/06/16 职场文书
迎国庆演讲稿
2014/09/15 职场文书
优秀教师事迹材料
2014/12/15 职场文书
vue项目proxyTable配置和部署服务器
2022/04/14 Vue.js