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 模拟登陆MSN并获得用户信息
May 16 PHP
php中神奇的fastcgi_finish_request
May 02 PHP
PHP性能优化 产生高度优化代码
Jul 22 PHP
php中mysql模块部分功能的简单封装
Sep 30 PHP
php curl常见错误:SSL错误、bool(false)
Dec 28 PHP
thinkPHP实现表单自动验证
Dec 24 PHP
thinkphp备份数据库的方法分享
Jan 04 PHP
简单了解PHP编程中数组的指针的使用
Nov 30 PHP
CI(Codeigniter)的Setting增强配置类实例
Jan 06 PHP
PHP程序员的技术成长规划
Mar 25 PHP
thinkPHP5.0框架自动加载机制分析
Mar 18 PHP
浅谈Laravel中使用Slack进行异常通知
May 29 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
留言板翻页的实现详解
2006/10/09 PHP
PHP版 汉字转码的实现详解
2013/06/09 PHP
php加密算法之实现可逆加密算法和解密分享
2014/01/21 PHP
提高php编程效率技巧
2015/08/13 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
2018/05/23 PHP
PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例
2019/02/25 PHP
PHP5.6读写excel表格文件操作示例
2019/02/26 PHP
php设计模式之单例模式用法经典示例分析
2019/09/20 PHP
基于jQuery的日期选择控件
2009/10/27 Javascript
JQuery表格内容过滤的实现方法
2013/07/05 Javascript
javascript实现的元素拖动函数宿主为浏览器
2014/07/21 Javascript
JS函数定义方式的区别介绍
2016/03/22 Javascript
微信小程序 toast 详解及实例代码
2016/11/09 Javascript
vue-cli中的webpack配置详解
2017/09/25 Javascript
浅谈AngularJs 双向绑定原理(数据绑定机制)
2017/12/07 Javascript
详解给Vue2路由导航钩子和axios拦截器做个封装
2018/04/10 Javascript
微信小程序开发的基本流程步骤
2019/01/31 Javascript
CountUp.js实现数字滚动增值效果
2019/10/17 Javascript
[46:25]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第二局
2016/03/05 DOTA
[13:25]VP vs VICI (BO3)
2018/06/07 DOTA
[56:14]Fnatic vs OG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python的id()函数介绍
2013/02/10 Python
python计算对角线有理函数插值的方法
2015/05/07 Python
python3.5实现socket通讯示例(TCP)
2017/02/07 Python
pyQt4实现俄罗斯方块游戏
2018/06/26 Python
python多任务之协程的使用详解
2019/08/26 Python
使用pytorch和torchtext进行文本分类的实例
2020/01/08 Python
python反编译教程之2048小游戏实例
2021/03/03 Python
canvas实现圆形进度条动画的示例代码
2017/12/26 HTML / CSS
Subside Sports德国:足球球衣和球迷商品
2019/06/08 全球购物
KELLER SPORTS荷兰:在线订购最好的运动产品
2020/10/13 全球购物
经验丰富大学生村干部自我鉴定
2014/01/22 职场文书
党政领导班子民主生活会整改措施
2014/09/18 职场文书
婚礼迎宾词大全
2015/08/10 职场文书
2015年小学体育教师工作总结
2015/10/23 职场文书
2016年庆“七一”主题党日活动总结
2016/04/05 职场文书