php获取网页内容方法总结

转载  更新时间:2008年12月04日 13:49:51   作者:   我要评论

用php抓取页面的内容在实际的开发当中是非常有用的,如作一个简单的内容采集器,提取网页中的部分内容等等
抓取到的内容在通过正则表达式做一下过滤就得到了你想要的内容,至于如何用正则表达式过滤,在这里就不做介绍了,有兴趣的,以下就是几种常用的用php抓取网页中的内容的方法。
1.file_get_contents
PHP代码
复制代码 代码如下:

<?php
$url = "//www.jb51.net";
$contents = file_get_contents($url);
//如果出现中文乱码使用下面代码
//$getcontent = iconv("gb2312", "utf-8",$contents);
echo $contents;
?>

2.curl
PHP代码
复制代码 代码如下:

<?php
$url = "//www.jb51.net";
$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 ("//www.jb51.net", "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堆排序实现原理与应用方法

    这篇文章主要介绍了php堆排序实现原理与应用方法,较为详细的分析了堆排序的原理及使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • 一个不易被发现的PHP后门代码解析

    一个不易被发现的PHP后门代码解析

    这篇文章主要介绍了一个不易被发现的PHP后门代码解析,对于网络安全来说非常重要,需要的朋友可以参考下
    2014-07-07
  • 防止用户利用PHP代码DOS造成用光网络带宽

    防止用户利用PHP代码DOS造成用光网络带宽

    一打开IIS,服务器的流出带宽就用光-----就是说服务器不断向别人发包,这个情况和受到DDOS攻击是不同的,DDOS是不断收到大量数据包.
    2011-03-03
  • Smarty3配置及入门语法

    Smarty3配置及入门语法

    本文主要介绍了Smarty3配置及入门语法,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • 教你在PHPStorm中配置Xdebug

    教你在PHPStorm中配置Xdebug

    这篇文章主要介绍了教你在PHPStorm中配置Xdebug的相关资料,需要的朋友可以参考下
    2015-07-07
  • php编程中echo用逗号和用点号连接的区别

    php编程中echo用逗号和用点号连接的区别

    本文通过几个具体的例子.来认清楚php编程中echo用逗号和用点号连接之前的区别.有需要的小伙伴可以参考下
    2016-03-03
  • PHP+JS实现批量删除数据功能示例

    PHP+JS实现批量删除数据功能示例

    这篇文章主要介绍了PHP+JS实现批量删除数据功能,结合实例形式分析了php结合js控制页面元素的选中与提交,以及php操作mysql实现批量删除功能的相关实现技巧,末尾还附带了一个php数据库操作类,需要的朋友可以参考下
    2017-11-11
  • PHP的APC模块实现上传进度条

    PHP的APC模块实现上传进度条

    这篇文章主要介绍了使用PHP的APC模块制作上传进度条,需要的朋友可以参考下
    2015-10-10
  • 在PHP 7下安装Swoole与Yar,Yaf的方法教程

    在PHP 7下安装Swoole与Yar,Yaf的方法教程

    周末闲来无事,玩玩swoole,所以下面这篇文章主要给大家介绍了在PHP 7下安装Swoole与Yar,Yaf的方法教程,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • PHP常用设计模式之委托设计模式

    PHP常用设计模式之委托设计模式

    委托是对一个类的功能进行扩展和复用的方法。它的做法是:写一个附加的类提供附加的功能,并使用原来的类的实例提供原有的功能,接下来通过本文给大家介绍PHP委托设计模式实例详解,感兴趣的朋友一起学习吧
    2016-02-02

最新评论