网站首页 > 代码片段 > Php > 正文

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

2017-08-26 22:30:06 来源: 点击:站内收藏
 
<?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,'<a href="http://pagead2.googlesyndication.com/pagead/show_ads.js">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.baidu.com");

 ?>

相关热词搜索:采集
评论正在载入