首页 > 编程技术 > php

php 模仿蜘蛛抓取内容并分析

发布时间:2016-11-25 15:13

这是一款模仿baidu,google抓取你网页时的样子哦,下面就是代码看看吧。

header("Content-Type:text/html;charset=gbk");
$message=$_POST['message'];
$contents = @file_get_contents("$message");
if($contents=="Forbidden"){
 $ch = curl_init();
 $timeout = 5;
 curl_setopt ($ch, CURLOPT_URL, "$message");
 curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
 curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
 $contents = curl_exec($ch);
 curl_close($ch);
}
preg_match_all("/<title(.*?)</title>/is",$contents,$title);
preg_match_all("/<meta(.*?)>/is",$contents,$meta);
preg_match_all("/<body(.*?)body>/is",$contents,$body);
echo 'title:'.strip_tags($title[0][0]).'<br><br>';
for($i=0;$i<count($meta[0]);$i++){
 if(preg_match("/keywords/i",$meta[0][$i])){
  preg_match_all("/content="(.*?)"/is",$meta[0][$i],$keywords);

 }
 if(preg_match("/description/i",$meta[0][$i])){
  preg_match_all("/content="(.*?)"/is",$meta[0][$i],$description);

 }
}
echo 'keywords:'.strip_tags($keywords[1][0]).'<br><br>';
echo 'description:'.strip_tags($description[1][0]).'<br><br>';
echo 'body:'.strip_tags($body[0][0]);
?>

下面我们来看看关于php isdir 与 mkdir 简介与使用方法吧,以及他们的作用了,好了下面先讲一下is_dir作吧,下面我们来看看例子。

 

$path=c:;

echo is_dir($path)?'t':'f';

如果c:、在就是输出t反之就是f

mkdir 作用是用来创建目录下面再来看看简单的is_dir与mkdir实现吧。

  private function checkPath($path){
        if(is_dir($path)){
            return true;
        }elseif(@mkdir($path)){
            return true;
        }

        return false;
    }

本站原创转注明www.111cn.net/phper/php.html

百度收录查询代码

function baidu(){
 global $day,$message,$num,$page,$content;
 $url="http://www.baidu.com/s?q1=&q2=&q3=&q4=&rn=10&lm=$day&ct=0&tn=downreg&ft=&q5=&q6=$message";
 
 $contents=@file_get_contents($url);
 preg_match_all("/百度一下,找到相关网页(.*?)篇/is",$contents,$num);
 preg_match_all("/<table border="0" cellpadding="0" cellspacing="0">(.*?)</table>/is",$contents,$content);
 preg_match_all("/<div class="p">(.*?)</div>/is",$contents,$page);
}

在很多站防采集时就是判断用户的

php ,模拟,搜索引擎,访问网页时是否带有一些相关参数下面我们就来模仿搜索引擎访问网站吧。

<?php

function GetPage($url)
{
$buf=parse_url($url);
if($buf['scheme']=="http")//如果是URL
 {
 $host=$buf['host'];
 $page=$buf['path'];
 if(trim($buf['query'])!=="") $page.="?".trim($buf['query']);

 $myHeader="GET $url HTTP/1.1rn";
 $myHeader.="Host: $hostrn";
 $myHeader.="Connection: closern";
 $myHeader.="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5rn";
 $myHeader.="Accept-Language: zh-cn,zh;q=0.5rn";
 $myHeader.="Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7rn";
 $myHeader.="User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.7.6) Gecko/20050226 Firefox/1.0.1 Web-Sniffer/1.0.20rn";
 $myHeader.="Referer: http://$host/rnrn";

 $server=$host;
 $port=80;

 $res="";
 if(false!==($fp = @fsockopen ($server, $port, $errno, $errstr, 30)))
  {
  @fputs ($fp, $myHeader);
  while (!@feof($fp)) $res.= @fgets ($fp, 1024);
  @fclose ($fp);
  }
 else return false;

 if(strlen($res)==0) return false;
 
 return $res;
 }
else//如果是本地文件
 {
 $fileName=$url;
 if(false!==@file_exists($fileName))
  {
  if(false!==($buf=@implode("",file($fileName)))&&@strlen($buf)>0)
   {
      
    return $buf;
   }
  else return false;
  }
 else return false;
 }
}


function  GetContent($str,$x,$y){ 
 $tem=strstr($str,$x);
 return substr($tem,0, strpos($tem,$y));
}


?>

下面我们来看看有关于php php addslashes 与stripslashes 使用教程吧,好了费话不说多了来看看喜欢不哦。

$magic_quotes_gpc = get_magic_quotes_gpc();


$register_globals = @ini_get('register_globals');


if(!$register_globals || !$magic_quotes_gpc) {


        extract($mc->daddslashes($_GET ), EXTR_OVERWRITE);


        extract($mc->daddslashes($_POST), EXTR_OVERWRITE);


        if(!$magic_quotes_gpc) {


                $_SERVER = $mc->daddslashes($_SERVER);


                $_COOKIE = $mc->daddslashes($_COOKIE);
        }
}

标签:[!--infotagslink--]

您可能感兴趣的文章: