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 相关文章推荐
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
Mar 29 PHP
PHP与MySQL开发中页面乱码的产生与解决
Mar 27 PHP
PHP similar_text 字符串的相似性比较函数
May 26 PHP
PHP高级对象构建 多个构造函数的使用
Feb 05 PHP
php使用指定编码导出mysql数据到csv文件的方法
Mar 31 PHP
PHP的Socket网络编程入门指引
Aug 11 PHP
分享50个提高PHP执行效率的技巧
Dec 26 PHP
php简单的上传类分享
May 15 PHP
Yii2实现上下联动下拉框功能的方法
Aug 10 PHP
PHP数据对象PDO操作技巧小结
Sep 27 PHP
ThinkPHP实现分页功能
Apr 28 PHP
PHP网站自动化配置的实现方法(必看)
May 27 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
2006/12/13 PHP
支持png透明图片的php生成缩略图类分享
2015/02/08 PHP
详解PHP归并排序的实现
2016/10/18 PHP
js验证模型自我实现的具体方法
2013/06/21 Javascript
JS自动适应的图片弹窗实例
2013/06/29 Javascript
简介JavaScript中的setTime()方法的使用
2015/06/11 Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
2015/08/03 Javascript
jQuery实现滚动切换的tab选项卡效果代码
2015/08/26 Javascript
JS Canvas定时器模拟动态加载动画
2016/09/17 Javascript
js判断文件格式及大小的简单实例(必看)
2016/10/11 Javascript
jQuery插件ajaxFileUpload使用详解
2017/01/10 Javascript
JS实现的自动打字效果示例
2017/03/10 Javascript
详解使用mpvue开发github小程序总结
2018/07/25 Javascript
Vue常用指令详解分析
2018/08/19 Javascript
vue弹窗插件实战代码
2018/09/08 Javascript
基于Vue实现平滑过渡的拖拽排序功能
2019/06/12 Javascript
基于VSCode调试网页JavaScript代码过程详解
2020/07/20 Javascript
原生js实现放大镜组件
2021/01/22 Javascript
python中实现php的var_dump函数功能
2015/01/21 Python
Python使用django获取用户IP地址的方法
2015/05/11 Python
在Python中操作字符串之replace()方法的使用
2015/05/19 Python
Python 26进制计算实现方法
2015/05/28 Python
python学习之编写查询ip程序
2016/02/27 Python
Python计算斗牛游戏概率算法实例分析
2017/09/26 Python
浅谈pyqt5中信号与槽的认识
2019/02/17 Python
python中的逆序遍历实例
2019/12/25 Python
dpn网络的pytorch实现方式
2020/01/14 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
django在开发中取消外键约束的实现
2020/05/20 Python
将n个数按输入顺序的逆序排列,用函数实现
2012/11/14 面试题
大学生职业生涯规划书模板
2014/01/03 职场文书
给女朋友的道歉信
2014/01/10 职场文书
社区党务工作总结2015
2015/05/19 职场文书
彻底理解golang中什么是nil
2021/04/29 Golang
K8s部署发布Golang应用程序的实现方法
2021/07/16 Golang
德生TECSUN S-2000使用手册文字版
2022/05/10 无线电