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 搜索框提示(自动完成)实例代码
Feb 05 PHP
深入PHP异步执行的详解
Jun 03 PHP
PHP GD库生成图像的几个函数总结
Nov 19 PHP
php递归删除指定文件夹的方法小结
Apr 20 PHP
php基于Snoopy解析网页html的方法
Jul 09 PHP
php里array_work用法实例分析
Jul 13 PHP
[原创]PHP字符串中插入子字符串方法总结
May 06 PHP
php字符串的替换,分割和连接方法
May 23 PHP
php基于curl实现随机ip地址抓取内容的方法
Oct 11 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
Sep 16 PHP
PHP实现链式操作的三种方法详解
Nov 16 PHP
php连接sftp的作用以及实例代码
Sep 23 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
How do I change MySQL timezone?
2008/03/26 PHP
php cc攻击代码与防范方法
2012/10/18 PHP
php打开文件fopen函数的使用说明
2013/07/05 PHP
Yii2框架实现数据库常用操作总结
2017/02/08 PHP
张孝祥JavaScript学习阶段性总结(2)--(X)HTML学习
2007/02/03 Javascript
javascript中传统事件与现代事件
2015/06/23 Javascript
RequireJS使用注意细节
2016/05/15 Javascript
自己动手制作基于jQuery的Web页面加载进度条插件
2016/06/03 Javascript
卸载安装Node.js与npm过程详解
2016/08/15 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
2017/05/24 Javascript
jQuery实现table中两列CheckBox只能选中一个的示例
2017/09/22 jQuery
详解redis在nodejs中的应用
2018/05/02 NodeJs
让Vue也可以使用Redux的方法
2018/05/23 Javascript
详解Vue单元测试case写法
2018/05/24 Javascript
WebSocket的简单介绍及应用
2019/05/23 Javascript
vue基于better-scroll仿京东分类列表
2020/06/30 Javascript
vuex刷新后数据丢失的解决方法
2020/10/18 Javascript
[00:27]DOTA2次级职业联赛 - Lilith战队宣传片
2014/12/01 DOTA
[01:32]完美世界DOTA2联赛10月29日精彩集锦
2020/10/30 DOTA
Python os模块介绍
2014/11/30 Python
使用Python的PIL模块来进行图片对比
2016/02/18 Python
python解决网站的反爬虫策略总结
2016/10/26 Python
Python实现爬虫设置代理IP和伪装成浏览器的方法分享
2018/05/07 Python
pycharm恢复默认设置或者是替换pycharm的解释器实例
2018/10/29 Python
详解python的四种内置数据结构
2019/03/19 Python
Python OpenCV利用笔记本摄像头实现人脸检测
2020/08/20 Python
基于python实现监听Rabbitmq系统日志代码示例
2020/11/28 Python
HTML5手机端弹出遮罩菜单特效代码
2016/01/27 HTML / CSS
JD Sports德国官网:英国领先的运动鞋和运动服饰零售商
2018/02/26 全球购物
百货商场楼层班组长竞聘书
2014/03/31 职场文书
双方协议书
2014/04/22 职场文书
社会工作专业自荐信
2014/09/26 职场文书
收入证明申请书
2015/06/12 职场文书
企业内部管理控制:银行存款控制制度范本
2020/01/10 职场文书
css3实现背景图片颜色修改的多种方式
2021/04/13 HTML / CSS
Python实现猜拳与猜数字游戏的方法详解
2022/04/06 Python