用php抓取页面的内容在实际的开发其中是很实用的,如作一个简单的内容採集器,提取网页中的部分内容等等。抓取到的内容在通过正則表達式做一下过滤就得到了你想要的内容。下面就是几种经常使用的用php抓取网页中的内容的方法。

1.file_get_contents 

PHP代码

<?

php     

$url = "http://www.phpzixue.cn";  

$contents = file_get_contents($url);  

//假设出现中文乱码使用以下代码  

//$getcontent = iconv("gb2312", "utf-8",$contents);   

echo $contents;  

?>   

2.curl 

PHP代码

<?php     

$url = "http://www.phpzixue.cn";  

$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.phpzixue.cn", "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抓取网页的更多相关文章

  1. Java 抓取网页中的内容【持续更新】

    背景:前几天复习Java的时候看到URL类,当时就想写个小程序试试,迫于考试没有动手,今天写了下,感觉还不错 内容1. 抓取网页中的URL 知识点:Java URL+ 正则表达式 import jav ...

  2. C语言调用curl库抓取网页图片

    思路是先用curl抓取网页源码,然后以关键字寻找出图片网址.   #include <stdio.h> #include <stdlib.h> #include <str ...

  3. [转载]爬虫的自我解剖(抓取网页HtmlUnit)

    网络爬虫第一个要面临的问题,就是如何抓取网页,抓取其实很容易,没你想的那么复杂,一个开源HtmlUnit包,4行代码就OK啦,例子如下: 1 2 3 4 final WebClient webClie ...

  4. C语言调用curl库抓取网页图片(转)

    思路是先用curl抓取网页源码,然后以关键字寻找出图片网址.  范例: #include <stdio.h> #include <stdlib.h> #include < ...

  5. Jumony快速抓取网页 --- Jumony使用笔记--icode

    作者:郝喜路   个人主页:http://www.cnicode.com      博客地址:http://haoxilu.cnblogs.com    时间:2014年6月26日 19:25:02 ...

  6. python抓取网页中图片并保存到本地

    #-*-coding:utf-8-*- import os import uuid import urllib2 import cookielib '''获取文件后缀名''' def get_file ...

  7. PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)

    通过curl_setopt()函数可以方便快捷的抓取网页(采集很方便),curl_setopt 是php的一个扩展库 使用条件:需要在php.ini 中配置开启.(PHP 4 >= 4.0.2) ...

  8. python抓取网页过程

    准备过程 1.抓取网页的过程 准备好http请求(http request)->提交对应的请求->获得返回的响应(http response)->获得网页源码 2.GET还是POST ...

  9. Python 抓取网页并提取信息(程序详解)

    最近因项目需要用到python处理网页,因此学习相关知识.下面程序使用python抓取网页并提取信息,具体内容如下: #---------------------------------------- ...

  10. PHP利用Curl实现多线程抓取网页和下载文件

    PHP 利用 Curl  可以完成各种传送文件操作,比如模拟浏览器发送GET,POST请求等等,然而因为php语言本身不支持多线程,所以开发爬虫程序效率并不高,一般采集 数据可以利用 PHPquery ...

随机推荐

  1. [Apple开发者帐户帮助]三、创建证书(4)创建Safari签名证书

    您的Safari扩展程序必须由Apple颁发的证书签名,您可以在开发者帐户中创建和下载该证书. 在“ 证书”,“标识符和配置文件”中,从左侧的弹出菜单中选择“Safari扩展”. 在“证书”下,选择“ ...

  2. Python yield解析

    Pyhton generators and the yield keyword At a glance,the yield statement is used to define generators ...

  3. System.DateTime.Now 24小时制。

    this.Label6.Text = "当前时间:" + System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") ...

  4. WEB笔记-3、盒子模型+定位+显示

      3.1 盒子模型 边距控制 margin/padding:上 右 下 左:   padding:内容和边距之间的空间 margin:”盒子“外撑开的空间,两个相邻标签外边距会出现重叠和累加的现象, ...

  5. Eclipse之调试代码和返回

    编写代码时,经常会遇到各种莫名其妙的问题,为了检测程序是哪里出现问题,我们通过断点调试来判断哪一步出错 一.断点 在需要断点的地方,在左侧双击鼠标设置断点,可设置多个 去掉断点:在断点上双击一下,没有 ...

  6. 三维重建:SLAM的尺度和方法论问题

    百度百科的定义.此文引用了其他博客的一些图像,如有侵权,邮件联系删除. 作为算法的SLAM,被称为同步相机位姿确定和地图构建.作为一个工程的SLAM,有众多的算法. 在计算机视觉中, 三维重建是指根据 ...

  7. 小功能__tab实录

    作为一个没有js基础的人来说,写一个小功能确实麻烦,也很累,从一个demo中发现details标签完美的实现菜单折叠功能,而不用费劲写好多li.div.js.发现html也是好厉害的.看来以后回家要多 ...

  8. js 检查内容是否为空

    var NoViods = document.getElementsByClassName("NoVoid"); ; i < NoViods.length; i++) { i ...

  9. sql server 查询时间 格式化输出

    use test select * from vote insert into vote (contents) values(GETDATE()) insert into vote (contents ...

  10. BZOJ 1740: [Usaco2005 mar]Yogurt factory 奶酪工厂 贪心 + 问题转化

    Description The cows have purchased a yogurt factory that makes world-famous Yucky Yogurt. Over the ...