程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP獲取百度相關搜索和原創程度

PHP獲取百度相關搜索和原創程度

編輯:關於PHP編程

 PHP獲取百度相關搜索和原創程度 
獲取原創程度是get_em_times,數值越高文本長度越長越不原創。 
用於采集項目的搜索引擎優化

class baidu {

        public static function build_request_uri($words){

                $words = urlencode(Text::convert_encoding($words,GBK,UTF-8));

                return /s?wd=.$words;

        }

        public static function get_relate_search($words){

                $content = self::get_content($words);

                if(preg_match(/<div id="rs">(((?!</div>).)*)</div>/, $content,$result)){

                        if(preg_match_all(/<a((?!>).)*>(.*?)</a>/, $result[1], $result)) return $result[2];

                }

                return FALSE;

        }

        /**

         * 根據空格分詞,獲取百度關鍵詞完全匹配<em></em>的次數

         * @param string $words

         * @return int 

         */

        public static function get_em_times($words){

                $word = explode( , $words);

                $content = self::get_content($words);

                preg_match_all(/<em>(((?!</em>).)*)</em>/, $content,$result);

                if(!isset($result[1]) || count($result[1])==0)

                        return 0;

                $word_table = array_count_values($result[1]);

                $times = 0;

                foreach ($word as $pice){

                        if(array_key_exists($pice, $word_table)) $times+=$word_table[$pice];

                }

                return $times;

        }

        public static function get_content($words){

                static $loaded_contents = array();

                if(!isset($loaded_contents[$words])){

                        $content = file_get_contents("http://www.baidu.com".self::build_request_uri($words));

                        $content = Text::convert_encoding($content,UTF-8,GBK);

                        $loaded_contents[$words] = $content;

                }

                return $loaded_contents[$words];

        }

        function check_veriy($content){

                if(strpos($content,"http://verify.baidu.com/")!==FALSE){

                        //百度要求驗證,異常

                }

        }

}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved