用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. Pet(dfs)

    http://acm.hdu.edu.cn/showproblem.php?pid=4707 题意:判断距离大于D的点有多少个. 思路: 邻接表建图,dfs每一个点,记录步数. #include &l ...

  2. hbase无法启动,The node /hbase is not in ZooKeeper

    问题详细描述如下: 2016-12-09 15:10:39,160 ERROR [org.apache.hadoop.hbase.client.ConnectionManager$HConnectio ...

  3. Visual Studio切换界面显示语言

    [工具]-[选项]-[环境]-[区域设置]-[语言]-[获取其他语言] 安装后重启即可.

  4. Spring 错误日志

    13:19:14.437 [main] DEBUG org.springframework.boot.context.logging.ClasspathLoggingApplicationListen ...

  5. ★Java语法(一)——————————标识符

    1.定义:用来标识类名.变量名.方法名.数组名.文件名的有效字符序列: 2.命名规则:a 由字母.数字._(下划线)和$(美元符号)组成 b 数字不能作为第一个字符 c 不能是Java中的关键字和保留 ...

  6. 【Oracle】数据迁移工具(2):Data Dump

    Data Dump 使用命令行IMPDP/EXPDP实现导入导出表.schema.表空间及数据库.IMPDP/EXPDP命令行中可以加入以下选项,来实现更细粒度的导入导出. IMPDP/EXPDP和I ...

  7. Python 遍历目录

    代码: 1.递归使用遍历目录 import os def scanfile(path): filelist = os.listdir(path) allfile = [] for filename i ...

  8. .NET Core & EntityFrameworkCore

    前言 .NET Core 相比于 .NET Fromework 有跨平台.轻量化且开源的优势. 在使用 EntityFrameworkCore 的时候也遇到了很多问题,至于网络上的教程嘛...大部分都 ...

  9. element ui table(表格)点击一行展开

    element ui是一个非常不错的vue的UI框架,element对table进行了封装,简化了vue对表格的渲染. element ui表格中有一个功能是展开行,在2.0版本官网例子中,只可以点击 ...

  10. Object.assign和序列/反序列

    Object.assign let testObj = { a:[1,2,4], b:{ name:'ls', school:['huf','yelu'], parent:{ father:'lili ...