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 相关文章推荐
Look And Say 序列php实现代码
May 22 PHP
PHP取得一个类的属性和方法的实现代码
May 22 PHP
php array_map()数组函数使用说明
Jul 12 PHP
ecshop 批量上传(加入自定义属性)
Mar 20 PHP
php 注册时输入信息验证器的实现详解
Jul 05 PHP
二进制交叉权限微型php类分享
Feb 07 PHP
查找php配置文件php.ini所在路径的二种方法
May 26 PHP
php中ftp_chdir与ftp_cdup函数用法
Nov 18 PHP
详解WordPress中添加友情链接的方法
May 21 PHP
PHP5.5安装PHPRedis扩展及连接测试方法
Jan 22 PHP
php 读写json文件及修改json的方法
Mar 07 PHP
解决thinkphp6(tp6)在状态码500下不报错,或者显示错误“Malformed UTF-8 characters”的问题
Apr 01 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实现aes加密类分享
2014/02/16 PHP
PHP操作Redis常用技巧总结
2018/04/24 PHP
Laravel Eloquent分表方法并使用模型关联的实现
2019/11/25 PHP
php提高脚本性能的4个技巧
2020/08/18 PHP
JavaScript 设计模式 安全沙箱模式
2010/09/24 Javascript
JavaScript高级程序设计 阅读笔记(十二) js内置对象Math
2012/08/14 Javascript
Jquery原生态实现表格header头随滚动条滚动而滚动
2014/03/18 Javascript
原生JS实现图片轮播与淡入效果的简单实例
2016/08/21 Javascript
angularJs中datatable实现代码
2017/06/03 Javascript
JavaSctit 利用FileReader和滤镜上传图片预览功能
2017/09/05 Javascript
node.js实现微信JS-API封装接口的示例代码
2017/09/06 Javascript
Angular ElementRef简介及其使用
2018/10/01 Javascript
vue 项目@change多个参数传值多个事件的操作
2021/01/29 Vue.js
[09:37]2018DOTA2国际邀请赛寻真——不懈追梦的Team Serenity
2018/08/13 DOTA
Python实现冒泡,插入,选择排序简单实例
2014/08/18 Python
python中随机函数random用法实例
2015/04/30 Python
基于python内置函数与匿名函数详解
2018/01/09 Python
Python实现获取前100组勾股数的方法示例
2018/05/04 Python
python数据处理之如何选取csv文件中某几行的数据
2019/09/02 Python
python生成任意频率正弦波方式
2020/02/25 Python
python图片剪裁代码(图片按四个点坐标剪裁)
2020/03/10 Python
python输出数学符号实例
2020/05/11 Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
2020/06/28 Python
浅谈Python 钉钉报警必备知识系统讲解
2020/08/17 Python
CSS3绘制六边形的简单实现
2016/08/25 HTML / CSS
CSS3实现水平居中、垂直居中、水平垂直居中的实例代码
2020/02/27 HTML / CSS
美国购买体育、音乐会和剧院门票网站:SelectATicket
2019/09/08 全球购物
护理专科毕业推荐信
2013/11/10 职场文书
外语学院毕业生的自我鉴定
2013/11/28 职场文书
公司请假条格式
2014/04/11 职场文书
2015年煤矿工作总结
2015/04/28 职场文书
青年志愿者活动感想
2015/08/07 职场文书
《红领巾真好》教学反思
2016/02/16 职场文书
学生安全责任协议书
2016/03/22 职场文书
详解Flutter网络请求Dio库的使用及封装
2022/04/14 Java/Android