龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

PHP采集网页文字采集并保存

时间:2014-06-12 15:36来源:网络整理 作者:网络 点击:
分享到:
PHP采集网页文字采集并保存 [代码片段(74行)]
<?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");

 ?> 
精彩图集

赞助商链接