PHP获取网页内容方法总结
2013-12-25 14:46
796 查看
用php抓取页面的内容在实际的开发当中是非常有用的,如作一个简单的内容采集器,提取网页中的部分内容等等。
抓取到的内容在通过正则表达式做一下过滤就得到了你想要的内容,至于如何用正则表达式过滤,在这里就不做介绍了,有兴趣的,以下就是几种常用的用php抓取网页中的内容的方法。
1.file_get_contents
PHP代码
2.curl
PHP代码
3.fopen->fread->fclose
PHP代码
注:
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抓取网页中的内容的方法。
1.file_get_contents
PHP代码
<?php $url = "http://www.jb51.net"; $contents = file_get_contents($url); //如果出现中文乱码使用下面代码 //$getcontent = iconv("gb2312", "utf-8",$contents); echo $contents; ?>
2.curl
PHP代码
<?php $url = "http://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 ("http://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 原生 Session 类库,可完全替代 CI 自己的 Session 类库
- cacti 中查询mysql数据库占用磁盘大小并返回的php修改了
- thinkPHP读取数据库的utf-8中文乱码解决
- 使用PHP处理二维数组下三角
- PHP 一百一十八 中文数字转换成数组
- 用单例模式写一个php数据库管理类
- PHP编程之:入门
- CCNA实验—STP
- php性能分析工具xhprof
- PHP的serialize()串行化函数
- 细说websocket - php篇
- com.enterprisedt.net.ftp.FTPClient FTP文件上传操作
- PHP中$_SERVER的详细参数与说明
- PHPword对中文的支持
- 细说websocket - php篇
- CakePHP
- PHPCMS v9上传图片提示"undefined"的解决办法
- php导出excl
- Yii中利用filters来控制访问
- php使用filter过滤器验证邮箱 ipv6地址 url验证