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 相关文章推荐
计算2000年01月01日起到指定日的天数
Oct 09 PHP
PHP简单系统查询模块代码打包下载
Jun 07 PHP
php中防止恶意刷新页面的代码小结
Oct 31 PHP
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
Jun 29 PHP
PHP获取当前url的具体方法全面解析
Nov 26 PHP
php遍历文件夹所有文件子文件夹函数代码
Nov 27 PHP
php中sprintf与printf函数用法区别解析
Feb 17 PHP
php实现处理输入转义字符的代码
Nov 08 PHP
JSON两种结构之对象和数组的理解
Jul 19 PHP
php使用正则表达式获取字符串中的URL
Dec 29 PHP
PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
Apr 10 PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
Aug 06 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通过function_exists检测函数是否存在的方法
2015/03/18 PHP
PHP中遇到的时区问题解决方法
2015/07/23 PHP
thinkPHP3.1验证码的简单实现方法
2016/04/22 PHP
PHP文件操作详解
2016/12/30 PHP
JavaScript 对任意元素,自定义右键菜单的实现方法
2013/05/08 Javascript
JQuery下拉框应用示例介绍
2014/04/23 Javascript
用javascript对一个json数组深度赋值示例
2014/07/27 Javascript
PHP结合jQuery实现红蓝投票功能特效
2015/07/22 Javascript
值得分享的轻量级Bootstrap Table表格插件
2016/05/30 Javascript
使用vue.js实现联动效果的示例代码
2017/01/10 Javascript
Vue 2.5.2下axios + express 本地请求404的解决方法
2018/02/21 Javascript
vue.js的computed,filter,get,set的用法及区别详解
2018/03/08 Javascript
vue+iview/elementUi实现城市多选
2019/03/28 Javascript
微信小程序开发数据缓存基础知识辨析及运用实例详解
2020/11/06 Javascript
详解Vue.js 可拖放文本框组件的使用
2021/03/03 Vue.js
[01:15:36]加油刀塔第二期网络版
2014/08/09 DOTA
[04:46]2018年度玩家喜爱的电竞媒体-完美盛典
2018/12/16 DOTA
Python使用pyh生成HTML文档的方法示例
2018/03/10 Python
基于python生成器封装的协程类
2019/03/20 Python
详解pandas的外部数据导入与常用方法
2019/05/01 Python
Python数据类型之String字符串实例详解
2019/05/08 Python
Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并
2019/08/28 Python
python SocketServer源码深入解读
2019/09/17 Python
基于python读取.mat文件并取出信息
2019/12/16 Python
阿迪达斯荷兰官方网站:adidas荷兰
2018/03/16 全球购物
巴西服装和鞋子购物网站:Marisa
2018/10/25 全球购物
荷兰天然和有机产品网上商城:BigGreenSmile.nl
2020/07/26 全球购物
傲盾软件面试题
2015/08/17 面试题
C#和SQL Server的面试题
2016/08/12 面试题
给排水工程师岗位职责
2013/11/21 职场文书
学生党支部先进事迹
2014/02/04 职场文书
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
超市开店计划书
2014/04/26 职场文书
学习群众路线的心得体会
2014/11/05 职场文书
Python中相见恨晚的技巧
2021/04/13 Python
详解Django中 render() 函数的使用方法
2021/04/22 Python