手把手教你做關鍵詞匹配項目(搜索引擎)---- 第六天


第六天

小帥帥周五休息后,精神估計太旺盛了,周末兩天就狂歡去了,酒喝高了,把一件重要的事兒給忘記了。

周一重新整裝 刺骨上戰場.

一來公司,小帥帥終於記得他要做的事情,就迫不及待的整理會議報告(工作總結)。

1.上周工作任務:

      1) 頁面提交關鍵詞到關鍵詞詞庫

      2) 文件導入到關鍵詞詞庫

      3) 自動抓取關鍵此到關鍵詞詞庫

2.能力的提升

      1) 學會了如何讀csv文件

      2)  學會了curl

      3)  學會了Html Dom parse

3.下周工作任務:

      1) 了解下關鍵詞詞庫的應用

剛寫到這兒,會議的警鍾就來了,小帥帥揣着這會議報告紙條匆匆忙忙趕到會議室。

經過3小時的口舌混戰,會議終於結束了。

小帥帥被迫扣上了以下任務,誰叫小帥帥沒把計划安排好呢。

1. 學習下淘寶的API的用法,根據淘寶API獲取寶貝的信息。

2. 跟據寶貝的屬性匹配適合的關鍵詞。

3. 繼續跟進后續的擴充關鍵詞詞庫任務,並且整理歸類下。

會議后,於老大私下在抽煙的時候找到了小帥帥,於老大向小帥帥了解情況,說到:你上周的任務做的很棒,你如果能夠對這些任務歸納下、總結下,用一份大家都看得懂的圖來描述下就非常完美了。

小帥帥聽到很激動:圖...呃....流程圖?

於老大耐心的說到:除了流程圖之外,還有很多圖,比如:數據流圖、UML圖... ( 說到這些,於老大就停不下來了,小帥帥蒙了 )

煙滅了,小帥帥再也堅持不了了,於是打斷了於老大的誇誇奇談,說: 呃...於老大, 這份總結你建議用什么圖表示比較好呢?

於老大不得不停下誇誇奇談,特意咳嗽一下,來打破尷尬,拍着小帥帥的肩膀,深情的說到:小帥帥,你先去了解下數據流圖、UML圖,其實用什么圖無所謂,只要能夠把你的思想傳達出來就行了...

小帥帥瞪時口塞,像塞了個雞蛋塞在嘴里。心里又默默的鄙視了於老大。

 

數據流圖:簡稱DFD,它從數據傳遞和加工角度,以圖形方式來表達系統的邏輯功能、數據在系統內部的邏輯流向和邏輯變換過程,是結構化系統分析方法的主要表達工具及用於表示軟件模型的一種圖示方法  [來自百度詞條]

UML圖:UML(Unified Modeling Language的縮寫)統一建模語言,是用來對軟件密集系統進行可視化建模的一種語言。UML為面向對象開發系統的產品進行說明、可視化、和編制文檔的一種標准語言。統一建模語言 (UML)是非專利的第三代建模和規約語言。 UML是在開發階段,說明,可視化,構建和書寫一個面向對象軟件密集系統的制品的開放方法。UML展現了一系列最佳工程實踐,這些最佳實踐在對大規模,復雜系統進行建模方面,特別是在軟件架構層次已經被驗證有效。UML被OMG采納作為業界的標准。UML最適於數據建模,業務建模,對象建模,組件建模。 [來自百度詞條]

 

當小帥帥去整理這份圖的時候,於老大其實已經在他的本子上已經把這些圖已經畫下來了。其實他是想讓小帥帥去接觸下軟件設計的知識。

 

小帥帥的想法就不一致,一聽到有新的技術知識,他就迫不及待去接觸,去學習。

就這樣小帥帥終於把數據流圖,和UML圖的概念看了一遍又一遍,估計能夠背出來了,但還是無法畫出這樣的圖。

當小帥帥垂頭喪氣去找於老大的時候,於老大把整理后的圖和代碼給他看了之后,覺得受到打擊了,原來這就是差距...

於老大的原稿:

 

<?php
class Keyword {

    public $word;

    public static $conn = null;

    public function getDbConn(){
        if(self::$conn == null){
            self::$conn = mysql_connect(DATABASE_HOST,DATABASE_USER,DATABASE__PASSWORD);
            mysql_query("SET NAMES '".DATABASE_CHARSET."'",self::$conn);
            mysql_select_db("dict",self::$conn);
            return self::$conn;
        }
        return self::$conn;
    }


    public function save(){

        $sql = "insert into keywords(word) values ('$this->word')";
          return mysql_query($sql,$this->getDbConn());     
    }

}

class Source {

    public $keywords;

    public function run() {

        foreach ($this->keywords as $word) {
            # code...
            $keyword = new Keyword();
            $keyword->word = $word;
            $keyword->save();
        }
    }

}

class InputSource extends Source {

    public function __construct(){
        $this->keywords = $_REQUEST["keywords"];
    }

}

class FileSource extends Source {

    public function __construct($filename){
        $file = fopen($filename,'r'); 
        while ($data = fgetcsv($file)) {
                $this->keywords[] = $data;
         }
        fclose($file);        
    }
}

class TaobaoHotsSource extends Source
{
    
    public function __construct()
    {
        # code...
        $curl = new ExtendedCurl();
        $content = $curl->get("http://www.taobao.com");
        if($curl->hasError()){
            throw new Exception($curl->getError(), $curl->getHttpCode());    
        }

        $html = str_get_html($content);
        foreach($html->find(".search-hots a[class!=more]") as $ele){
            $this->keywords[] = $ele->innertext;
        }

    }
}

小帥帥只好拿着那木劍去打怪升級,這個boss級別太高,小帥帥抗不起。

小帥帥的啊Q精神還是挺好的,他堅信總有一天,自己會成為Boss級別的,讓其它剛出茅廬的來挑戰他。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM