网站首页 » 笔记 » 获取网站title,description,keywords

获取网站title,description,keywords

September 2, 2016 笔记
   //伪造user_agent,方便抓取网站
  
  header("Content-type: text/html; charset=utf-8");
    ini_set('user_agent','Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36 SE 2.X MetaSr 1.0');
    include('config.php');
    include('site.lib.php');
    $conn = @mysql_connect(DB_HOST,DB_USER,DB_PASS);
    if (!$conn){
        die("连接数据库失败:" . mysql_error());
    }
    mysql_select_db(DB_NAME,$conn);
    mysql_query("set names utf8");
    //处理获取的数据    
    //获取网站meta信息
        if(strpos($url,'http') === false){
        $url="http://".$url;
        }
        @$result=file_get_contents($url);
        if($result===false){
        echo "
";
        exit();
        }
        /*$ch = curl_init($url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $result = curl_exec($ch);
        
        curl_close($ch);
        */
        function is_utf8($result)
        { 
        if (preg_match("/^([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}/",@$word) == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}$/",@$word) == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){2,}/",$result) == true)    
        {
        return true; 
        } 
        else 
        {
        return false; 
        }
        }
        //
        if(is_utf8($result)==1){
        $result=$result;
        }else{
           $result = iconv("gb2312","utf-8//IGNORE",$result);  
        }
        $title = preg_match('!
(.*?)
!i', $result, $matches) ? $matches[1] : $url;
        $description = preg_match('!
!i', $result, $matches) ? $matches[1] : preg_match('!
!i', $result, $matches) ? $matches[1] :preg_match('!
!i', $result, $matches) ? $matches[1] :'err';
        $keywords = preg_match('!
!i', $result, $matches) ? $matches[1] : preg_match('!
!i', $result, $matches) ? $matches[1] :preg_match('!
!i', $result, $matches) ? $matches[1] :'err';
        //获取链接信息结束
        //取域名
        if(strpos($url,'http') === false){
            $url=$url;
        }else{
            $tempu=parse_url($url);  
        $url=$tempu['host'];
        }
        //调试
        /*echo $title.'';
        echo $description.'';
        echo $keywords.'';
        echo $url.'';*/
<p><br/></p>
Title - Artist
0:00