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 相关文章推荐
用ADODB来让PHP操作ACCESS数据库的方法
Dec 31 PHP
PHP乱码问题,UTF-8乱码常见问题小结
Apr 09 PHP
PHP函数extension_loaded()用法实例
Jan 19 PHP
php格式化金额函数分享
Feb 02 PHP
浅谈PHP中output_buffering
Jul 13 PHP
再谈PHP中单双引号的区别详解
Jun 12 PHP
php 数组处理函数extract详解及实例代码
Nov 23 PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
Dec 07 PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
Dec 27 PHP
实例说明js脚本语言和php脚本语言的区别
Apr 04 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
Mar 24 PHP
TP5框架实现自定义分页样式的方法示例
Apr 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
浅谈电磁辐射对健康的影响
2021/03/01 无线电
php Smarty date_format [格式化时间日期]
2010/03/15 PHP
解析php中的fopen()函数用打开文件模式说明
2013/06/20 PHP
PHP获取Exif缩略图的方法
2015/07/13 PHP
PHP下载远程图片的几种方法总结
2017/04/07 PHP
php面向对象程序设计中self与static的区别分析
2019/05/21 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
超级强大的表单验证
2006/06/26 Javascript
载入进度条 效果
2006/07/08 Javascript
Javascript操纵Cookie实现购物车程序
2007/02/15 Javascript
jQuery 技巧大全(新手入门篇)
2009/05/12 Javascript
让人期待的2011年度最佳 jQuery 插件分享
2012/03/16 Javascript
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
调用HttpHanlder的几种返回方式小结
2013/12/20 Javascript
JS截取url中问号后面参数的值信息
2014/04/29 Javascript
jquery增加和删除元素的方法
2015/01/14 Javascript
原生JS实现首页进度加载动画
2016/09/14 Javascript
使用InstantClick.js让页面提前加载200ms
2017/09/12 Javascript
详解使用vuex进行菜单管理
2017/12/21 Javascript
微信小程序实现留言板
2018/10/31 Javascript
一些可能会用到的Node.js面试题
2019/06/15 Javascript
解决echarts 一条柱状图显示两个值,类似进度条的问题
2020/07/20 Javascript
JavaScript中window和document用法详解
2020/07/28 Javascript
基于JavaScript实现简单扫雷游戏
2021/01/02 Javascript
Javascript实现打鼓效果
2021/01/29 Javascript
python判断字符串编码的简单实现方法(使用chardet)
2016/07/01 Python
Python使用一行代码获取上个月是几月
2018/08/30 Python
在keras中model.fit_generator()和model.fit()的区别说明
2020/06/17 Python
意大利网上书店:LaFeltrinelli
2020/06/12 全球购物
销售员岗位职责范本
2014/02/03 职场文书
《真想变成大大的荷叶》教学反思
2014/04/14 职场文书
艺术设计专业毕业生推荐信
2014/07/08 职场文书
2014红色之旅心得体会
2014/10/07 职场文书
Go 语言下基于Redis分布式锁的实现方式
2021/06/28 Golang
MySQL系列之十二 备份与恢复
2021/07/02 MySQL
PostgreSQL怎么创建分区表详解
2022/06/25 PostgreSQL