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边学边教》(01.开篇――准备工作)
Dec 13 PHP
PHP生成网站桌面快捷方式代码分享
Oct 11 PHP
PHP跨平台获取服务器IP地址自定义函数分享
Dec 29 PHP
php打印一个边长为N的实心和空心菱型的方法
Mar 02 PHP
PHP 使用memcached简单示例分享
Mar 05 PHP
thinkphp微信开发(消息加密解密)
Dec 02 PHP
php自定义分页类完整实例
Dec 25 PHP
CodeIgniter常用知识点小结
May 26 PHP
PHP中Array相关函数简介
Jul 03 PHP
浅析PHP数据导出知识点
Feb 17 PHP
微信公众号开发之获取位置信息php代码
Jun 13 PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 18 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 Smarty初体验二 获取配置信息
2011/08/08 PHP
深入解析php之apc
2013/05/15 PHP
PHP小教程之实现链表
2014/06/09 PHP
php+ajax实现无刷新分页的方法
2014/11/04 PHP
WordPress中给文章添加自定义字段及后台编辑功能区域
2015/12/19 PHP
php metaphone()函数的定义和用法
2016/05/15 PHP
php时间函数用法分析
2016/05/28 PHP
BOOM vs RR BO5 第三场 2.14
2021/03/10 DOTA
jquery实现marquee效果(文字或者图片的水平垂直滚动)
2013/01/07 Javascript
多个$(document).ready()的执行顺序实例分析
2014/07/26 Javascript
js实现温度计时间样式代码分享
2015/08/21 Javascript
js移动焦点到最后位置的简单方法
2016/11/25 Javascript
nodejs密码加密中生成随机数的实例代码
2017/07/17 NodeJs
JS实现带动画的回到顶部效果
2017/12/28 Javascript
JS控制鼠标拒绝点击某一按钮的实例
2017/12/29 Javascript
vuejs实现递归树型菜单组件
2018/01/13 Javascript
Vue.js 动态为img的src赋值方法
2018/03/14 Javascript
package.json各个属性说明详解
2020/03/11 Javascript
浅谈JavaScript中你可能不知道URL构造函数的属性
2020/07/13 Javascript
浅谈vue 二级路由嵌套和二级路由高亮问题
2020/08/06 Javascript
python threading模块操作多线程介绍
2015/04/08 Python
python实现数据写入excel表格
2018/03/25 Python
Django 日志配置按日期滚动的方法
2019/01/31 Python
python SQLAlchemy 中的Engine详解
2019/07/04 Python
pycharm新建一个python工程步骤
2019/07/16 Python
python实现UDP协议下的文件传输
2020/03/20 Python
浅谈Python线程的同步互斥与死锁
2020/03/22 Python
GUESS德国官网:美国牛仔服装品牌
2017/02/14 全球购物
blueseventy官网:铁人三项和比赛泳衣
2021/02/06 全球购物
MySQL面试题目集锦
2016/04/14 面试题
教师年度考核评语
2014/04/28 职场文书
企业趣味活动方案
2014/08/21 职场文书
单位作风建设剖析材料
2014/10/11 职场文书
工厂员工辞职信范文
2015/05/12 职场文书
校长新学期致辞
2015/07/30 职场文书
Redis实现一个账号只能登录一个设备
2022/04/19 Redis