搜索引擎,顧名思義,便是一種用於搜索信息而產生的工具。一般解釋而言,便是通過用戶的需求,和一定的算法,將用戶輸入的關鍵詞與互聯網上現存的信息進行匹配,並按照相關度和時間順序,將符合要求的信息羅列在用戶的眼前。
搜索引擎這門生意講究的是個先來後到。如果能在最早的時候將知名論壇和網站的內容全部爬取,那就會在用戶占有率上占盡優勢。
要知道在這個時間點,日後馳名全球的尋他公司和布穀公司還在娘胎裏,呀唬公司的搜索引擎雖然已經誕生,但其底層技術依舊是依靠人工存放網站目錄,可謂是效率極其低下。
現在已經有互聯網信息爆炸的趨勢了,隨著信息越來越多,人工處理流程必將被淘汰,而王向中設想的,則是搶在市場最前列,將新一代的搜索引擎提前麵世。
實際上做一個搜索引擎並沒有看上去那麽輕鬆。首先是代碼問題,這個年代網頁技術還停留在web1.0(互聯網1.0)的時代,先暫且不提ajax(asynchronousjavascriptandxml,異步javascript和xml)這種動態頁麵刷新機製,就連javascript(一種web頁麵腳本語言)都還尚未出現。
還好windows公司相當強大,早在1996年發布了asp1.0(activeserverpages,動態服務器頁麵),這也讓王向中不必苦哈哈地用大量c語言進行後端代碼編寫工作。
接下來就是數據的爬取和存儲問題。這話雖然聽起來很高端,但實際上也就是將數據從別的網站上摘下來,進行索引和關鍵詞分配的簡單加工後存儲的過程。
這個時候python語言尚還叫abc語言,很顯然在這個年代使用這個失敗的產品是不太合適的,使用更加成熟的c++也許可以解決一些問題。
將爬蟲模型簡單地鋪開來講,最基礎的爬蟲,便是通過程序直接訪問網頁的源代碼,通過正則表達式匹配出網頁的標題和其具體內容,再接著分析網頁內的超鏈接所指向的頁麵,逐步將整個網站的內容收入囊中。
再接下來便是數據的存儲問題。mysql(一種關係數據庫管理係統)可以完美地代替文本文檔進行數據存取,因為它有一項對於搜索引擎而言重要的功能——索引。
索引可以給一條數據給予定義。舉個最簡單的比方,為了節省空間,圖書館的書一般是縱向擺放,而在每本書的側麵上,都寫有書名和作者姓名。
這個書名和作者姓名,就是一本書的“索引”,當你想要找一本書的時候,顯然不可能將每本書都打開細細查閱一番,這無疑是在浪費時間。而通過書名和作者名,你可以輕鬆地找到自己想要的那本書。
假設一本書是一條數據,那麽通過索引功能,便可以輕鬆地將它從數據庫中調取出來,而不必辛苦地逐行逐字分析書本的內容。
至於數據庫訪問優化,還是屬於暫時不必要考慮的問題。這個時代,互聯網上存在的網站還不算太多,不到1tb的硬盤便可以解決問題。
剩下的域名購買、網站報備申請等環節,則就是行政工作了,隻要抽個時間便可以將它們全部搞定。
如此估算下來,王向中還需要一台服務器,一個小機房用於存放設備,以及網絡費用成本。
按照目前王向中的賺錢速度,想要快速攢到所需要的錢,還需要一些時日。
不過現在他已經可以開始著手代碼的框架建立了,盡管在當年那個世界,代碼這一步是最難的事情,然而在王向中身上,代碼是最簡單的事情……
但凡是不用掏錢的事情,都是最簡單的事情。
短短三天內,電信公司便派了人來,將電話線給拉好了,與此同時,王向中也向蔣紅月借出重金,咬緊牙關買了一部固定電話。
盡管windows95在這個年代是人類頂級智慧成果之一,但王向中還是愣了好一會,才逐漸熟悉它的操作方式。
在他這個現代人眼裏,這個所謂最先進的係統,等同於是反人類的設計功能也不為過。
雖然王向中懂編程,懂設計,但asp1.0和最初代的c++還是讓他遇到了不小的困難。不同於日後隱隱有大一統趨勢的編程語言,此時它們的編碼結構和習慣簡直是天差地別,對比未來的版本而言,更是缺少了不少庫和函數。
在調試好編譯環境後,就算是王向中,也不得不照著書一點一點地再啃代碼。如果按照日後那種習慣來寫代碼,恐怕每三行就會出現一個報錯。
正當他對著電腦屏幕冥思苦想之時,林建這個小子,卻悄悄溜達到他背後開始觀察起來。
“你在幹什麽?”林建一臉好奇地望著屏幕中的英文代碼,出聲問道。
此時王向中也有些疲憊,於是也重重地靠在了椅背上,不斷地揉搓著太陽穴:“我在編程,寫代碼,做軟件。”
“我看這個挺好玩的。”林建將雙手搭在王向中肩頭上,指著屏幕上的一行代碼:“這個地方是不是有問題?”
王向中聞言,也是自覺有些好笑地搖了搖頭,笑道:“怎麽,你也能看出問題?”
“沒有,我就是有一種感覺。”林建小臉滿是認真之色,絲毫沒有半點玩笑的意味。
聽到這話,王向中也是有一絲狐疑地仔細打量了一下這一行的代碼。雖然他天天都能在店裏見到林建這個小子,但兩人交流極少,很多時候也隻是象征性地問好。
不過通過他的觀察,確實發現林建這個小子是個很細致的人,很多時候都可以點出一些被人忽視的問題。
在仔細檢查一番過後,王向中也是瞪大了雙眼,嘴巴也張成了一個“o”字型。
因為他真的發現了一個小問題,盡管隻是變量名沒有打前綴而已。在這個時代,ide(integrateddevelopmentenvironment,集成開發環境)並不算先進,也沒有什麽檢測非法變量名的功能,充其量算個能補充語句的文本文檔工具,很多時候都是編譯一遍才能發現問題。
林建,初中都還沒讀完就已經輟學,從來沒有學過什麽計算機,卻能一眼看穿代碼中存在問題,盡管隻是一個字母的錯漏,但依然證明了,他絕對在計算機上有著過人的天賦。
常人是不可能對一堆看不懂的英文字母感興趣的,更不會有心思去理解所謂代碼背後的邏輯。
如果林建不是一個瘋子的話,那他一定是傳說中的計算機天才。
這樣的人要是能充分發揮才能,絕對不可能是一個籍籍無名之輩。
難道他真的在後世被埋沒了嗎?
王向中使勁揉了揉眼睛,再度細細打量了一番眼前表情錯愕的林建。
那清秀的臉龐,在王向中腦海裏不斷對比搜索著,很快便與一個形象完整重合。
這一發現,也讓王向中的內心中瞬間炸起了驚濤駭浪,難怪他第一次見到林建時,就覺得眼前的林建有些眼熟,沒想到,此人竟是日後震撼華夏的不世天才——傳奇人物林建!
搜索引擎這門生意講究的是個先來後到。如果能在最早的時候將知名論壇和網站的內容全部爬取,那就會在用戶占有率上占盡優勢。
要知道在這個時間點,日後馳名全球的尋他公司和布穀公司還在娘胎裏,呀唬公司的搜索引擎雖然已經誕生,但其底層技術依舊是依靠人工存放網站目錄,可謂是效率極其低下。
現在已經有互聯網信息爆炸的趨勢了,隨著信息越來越多,人工處理流程必將被淘汰,而王向中設想的,則是搶在市場最前列,將新一代的搜索引擎提前麵世。
實際上做一個搜索引擎並沒有看上去那麽輕鬆。首先是代碼問題,這個年代網頁技術還停留在web1.0(互聯網1.0)的時代,先暫且不提ajax(asynchronousjavascriptandxml,異步javascript和xml)這種動態頁麵刷新機製,就連javascript(一種web頁麵腳本語言)都還尚未出現。
還好windows公司相當強大,早在1996年發布了asp1.0(activeserverpages,動態服務器頁麵),這也讓王向中不必苦哈哈地用大量c語言進行後端代碼編寫工作。
接下來就是數據的爬取和存儲問題。這話雖然聽起來很高端,但實際上也就是將數據從別的網站上摘下來,進行索引和關鍵詞分配的簡單加工後存儲的過程。
這個時候python語言尚還叫abc語言,很顯然在這個年代使用這個失敗的產品是不太合適的,使用更加成熟的c++也許可以解決一些問題。
將爬蟲模型簡單地鋪開來講,最基礎的爬蟲,便是通過程序直接訪問網頁的源代碼,通過正則表達式匹配出網頁的標題和其具體內容,再接著分析網頁內的超鏈接所指向的頁麵,逐步將整個網站的內容收入囊中。
再接下來便是數據的存儲問題。mysql(一種關係數據庫管理係統)可以完美地代替文本文檔進行數據存取,因為它有一項對於搜索引擎而言重要的功能——索引。
索引可以給一條數據給予定義。舉個最簡單的比方,為了節省空間,圖書館的書一般是縱向擺放,而在每本書的側麵上,都寫有書名和作者姓名。
這個書名和作者姓名,就是一本書的“索引”,當你想要找一本書的時候,顯然不可能將每本書都打開細細查閱一番,這無疑是在浪費時間。而通過書名和作者名,你可以輕鬆地找到自己想要的那本書。
假設一本書是一條數據,那麽通過索引功能,便可以輕鬆地將它從數據庫中調取出來,而不必辛苦地逐行逐字分析書本的內容。
至於數據庫訪問優化,還是屬於暫時不必要考慮的問題。這個時代,互聯網上存在的網站還不算太多,不到1tb的硬盤便可以解決問題。
剩下的域名購買、網站報備申請等環節,則就是行政工作了,隻要抽個時間便可以將它們全部搞定。
如此估算下來,王向中還需要一台服務器,一個小機房用於存放設備,以及網絡費用成本。
按照目前王向中的賺錢速度,想要快速攢到所需要的錢,還需要一些時日。
不過現在他已經可以開始著手代碼的框架建立了,盡管在當年那個世界,代碼這一步是最難的事情,然而在王向中身上,代碼是最簡單的事情……
但凡是不用掏錢的事情,都是最簡單的事情。
短短三天內,電信公司便派了人來,將電話線給拉好了,與此同時,王向中也向蔣紅月借出重金,咬緊牙關買了一部固定電話。
盡管windows95在這個年代是人類頂級智慧成果之一,但王向中還是愣了好一會,才逐漸熟悉它的操作方式。
在他這個現代人眼裏,這個所謂最先進的係統,等同於是反人類的設計功能也不為過。
雖然王向中懂編程,懂設計,但asp1.0和最初代的c++還是讓他遇到了不小的困難。不同於日後隱隱有大一統趨勢的編程語言,此時它們的編碼結構和習慣簡直是天差地別,對比未來的版本而言,更是缺少了不少庫和函數。
在調試好編譯環境後,就算是王向中,也不得不照著書一點一點地再啃代碼。如果按照日後那種習慣來寫代碼,恐怕每三行就會出現一個報錯。
正當他對著電腦屏幕冥思苦想之時,林建這個小子,卻悄悄溜達到他背後開始觀察起來。
“你在幹什麽?”林建一臉好奇地望著屏幕中的英文代碼,出聲問道。
此時王向中也有些疲憊,於是也重重地靠在了椅背上,不斷地揉搓著太陽穴:“我在編程,寫代碼,做軟件。”
“我看這個挺好玩的。”林建將雙手搭在王向中肩頭上,指著屏幕上的一行代碼:“這個地方是不是有問題?”
王向中聞言,也是自覺有些好笑地搖了搖頭,笑道:“怎麽,你也能看出問題?”
“沒有,我就是有一種感覺。”林建小臉滿是認真之色,絲毫沒有半點玩笑的意味。
聽到這話,王向中也是有一絲狐疑地仔細打量了一下這一行的代碼。雖然他天天都能在店裏見到林建這個小子,但兩人交流極少,很多時候也隻是象征性地問好。
不過通過他的觀察,確實發現林建這個小子是個很細致的人,很多時候都可以點出一些被人忽視的問題。
在仔細檢查一番過後,王向中也是瞪大了雙眼,嘴巴也張成了一個“o”字型。
因為他真的發現了一個小問題,盡管隻是變量名沒有打前綴而已。在這個時代,ide(integrateddevelopmentenvironment,集成開發環境)並不算先進,也沒有什麽檢測非法變量名的功能,充其量算個能補充語句的文本文檔工具,很多時候都是編譯一遍才能發現問題。
林建,初中都還沒讀完就已經輟學,從來沒有學過什麽計算機,卻能一眼看穿代碼中存在問題,盡管隻是一個字母的錯漏,但依然證明了,他絕對在計算機上有著過人的天賦。
常人是不可能對一堆看不懂的英文字母感興趣的,更不會有心思去理解所謂代碼背後的邏輯。
如果林建不是一個瘋子的話,那他一定是傳說中的計算機天才。
這樣的人要是能充分發揮才能,絕對不可能是一個籍籍無名之輩。
難道他真的在後世被埋沒了嗎?
王向中使勁揉了揉眼睛,再度細細打量了一番眼前表情錯愕的林建。
那清秀的臉龐,在王向中腦海裏不斷對比搜索著,很快便與一個形象完整重合。
這一發現,也讓王向中的內心中瞬間炸起了驚濤駭浪,難怪他第一次見到林建時,就覺得眼前的林建有些眼熟,沒想到,此人竟是日後震撼華夏的不世天才——傳奇人物林建!