PHP 采集获取指定网址的内容


Posted in PHP onJanuary 05, 2010

参考别人想法变成自己的想法,你会发现慢慢下来以后你就拥有了临时解决很多问题的思路与方法。

<?php 
/* 
功能:获取页面内容,存储下来阅读; lost63 
*/ 
Class GetUrl{ 
var $url; //地址 
var $result; //结果 
var $content; //内容 
var $list; //列表 
function GetUrl($url){ 
$this->url=$url; 
$this->GetContent(); 
$this->GetList(); 
$this->FileSave(); 
//print_r($this->list[2]); 
} 
private function GetContent(){ 
$this->result=fopen($this->url,"r"); 
while(!feof($this->result)){ 
$this->content.=fgets($this->result,9999); 
} 
} 
private function GetList(){ 
preg_match_all('/<a(.*?)href="(.*?)">(.*?)<\/a>/',$this->content,$this->list); 
$this->list[2]=array_unique($this->list[2]); //移除相同的值 
while(list($key,$value)=each($this->list[2])){ 
if(strpos($value,".html")==0||strpos($value,"jiaocheng")==0){ 
unset($this->list[2][$key]); 
}else{ 
$this->list[2][$key]=substr($value,0,strpos($value,".html")).".html"; //去掉不需要的标签 
} 
} 
} 
private function FileSave(){ 
foreach($this->list[2] as $value){ 
$this->url=$value; //重新赋值 
$this->content=null; 
$this->GetContent(); //提取内容 
preg_match_all('/<title>(.*?)<\/title>/',$this->content,$files); //取标题 
$filename=$files[1][0].".html"; //存储名 
$content=$this->str_cut($this->content,'http://pagead2.googlesyndication.com/pagead/show_ads.js','<div id="article_detail">'); 
$file=fopen($filename,"w"); 
fwrite($file,$content); 
fclose($file); 
echo $filename."保存 OK<br>\n"; 
} 
} 
function str_cut($str ,$start, $end) { 
$content = strstr( $str, $start ); 
$content = substr( $content, strlen( $start ), strpos( $content, $end ) - strlen( $start ) ); 
return $content; 
} 
} 
$w=new GetUrl("http://www.ijavascript.cn/jiaocheng/javascript-jiaocheng-352.html"); 
?>
PHP 相关文章推荐
PHP防注入安全代码
Apr 09 PHP
php下正则来匹配dede模板标签的代码
Aug 21 PHP
php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
Feb 08 PHP
Thinkphp中数据按分类嵌套循环实现方法
Oct 30 PHP
完美实现wordpress禁止文章修订和自动保存的方法
Nov 03 PHP
php中数据库连接方式pdo和mysqli对比分析
Feb 25 PHP
PHP超全局数组(Superglobals)介绍
Jul 01 PHP
php实现的统计字数函数定义与使用示例
Jul 26 PHP
PHP编程实现脚本异步执行的方法
Aug 09 PHP
PHP获取对象属性的三种方法实例分析
Jan 03 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
Oct 15 PHP
PHP预定义接口――Iterator用法示例
Jun 05 PHP
php 无极分类(递归)实现代码
Jan 05 #PHP
php 文件上传代码(限制jpg文件)
Jan 05 #PHP
php下将XML转换为数组
Jan 01 #PHP
PHP 巧用数组降低程序的时间复杂度
Jan 01 #PHP
使用PHP获取网络文件的实现代码
Jan 01 #PHP
php中计算时间差的几种方法
Dec 31 #PHP
php 操作excel文件的方法小结
Dec 31 #PHP
You might like
提升PHP执行速度全攻略
2006/10/09 PHP
DISCUZ 论坛管理员密码忘记的解决方法
2009/05/14 PHP
PHP中new static() 和 new self() 的区别介绍
2015/01/09 PHP
php将12小时制转换成24小时制的方法
2015/03/31 PHP
关于PHP 如何用 curl 读取 HTTP chunked 数据
2016/02/26 PHP
ThinkPHP5框架缓存查询操作分析
2018/05/30 PHP
动态创建的表格单元格中的事件实现代码
2008/12/30 Javascript
原生javascript实现图片轮播效果代码
2010/09/03 Javascript
最短的IE判断代码
2011/03/13 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
2014/01/03 Javascript
详谈js中数组(array)和对象(object)的区别
2017/02/27 Javascript
JavaScript Canvas绘制圆形时钟效果
2020/08/20 Javascript
jquery与js实现全选功能的区别
2017/06/11 jQuery
ReactNative Image组件使用详解
2017/08/07 Javascript
Nodejs中的JWT和Session的使用
2018/08/21 NodeJs
layui实现左侧菜单点击右侧内容区显示
2019/07/26 Javascript
jQuery实时统计输入框字数及限制
2020/06/24 jQuery
[00:30]塑造者的传承礼包-戴泽“暗影之焰”套装展示视频
2014/04/04 DOTA
python实现将html表格转换成CSV文件的方法
2015/06/28 Python
python下解压缩zip文件并删除文件的实例
2018/04/24 Python
带你认识Django
2019/01/15 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
2019/01/17 Python
解决python打不开文件(文件不存在)的问题
2019/02/18 Python
python打印异常信息的两种实现方式
2019/12/24 Python
在django中实现choices字段获取对应字段值
2020/07/12 Python
python批量生成条形码的示例
2020/10/10 Python
MCAKE蛋糕官方网站:一直都是巴黎的味道
2018/02/06 全球购物
北美主要的汽车零部件零售商:AutoShack.com
2019/02/23 全球购物
个人简历自我评价八例
2013/10/31 职场文书
教育技术职业规划范文
2014/03/04 职场文书
男性健康日的活动方案
2014/08/18 职场文书
车贷收入证明范本
2014/09/14 职场文书
运动会100米广播稿
2015/08/19 职场文书
python 解决微分方程的操作(数值解法)
2021/05/26 Python
「玫瑰之王的葬礼」舞台剧主视觉图公开
2022/03/21 日漫
天谕手游15杯全调酒配方和调酒券的获得方式
2022/04/06 其他游戏