如何在9個小時內(nèi)轉(zhuǎn)移3.4萬個WIRED頁面?

2015-11-02 13:46:00 來源:創(chuàng)業(yè)邦 作者:佚名 人氣: 次閱讀 155 條評論

WIRED成立多長時間了?我只想說,如果它是一個人的話,那么他已經(jīng)超過法定飲酒年齡了。這20多年來,WIRED已經(jīng)發(fā)表了幾萬期刊物,如果將每一本雜志的封面都擺在書架上,一定...

小時 頁面 萬個

WIRED成立多長時間了?我只想說,如果它是一個人的話,那么他已經(jīng)超過法定飲酒年齡了。這20多年來,WIRED已經(jīng)發(fā)表了幾萬期刊物,如果將每一本雜志的封面都擺在書架上,一定會讓人感到震撼。然而在網(wǎng)頁上,很顯然無法進行這樣的展示。在這個背景下,我們決定對網(wǎng)頁進行一次大掃除。

WIRED.com的發(fā)展故事,向所有人展示了硅谷互聯(lián)網(wǎng)泡沫從出現(xiàn)到破滅的整個過程。1993年,在WIRED雜志成立不久之后,HotWired成為了在線新聞領(lǐng)域的先鋒。但是當互聯(lián)網(wǎng)泡沫碎裂之后,網(wǎng)站被賣給了Lycos,而他們旗下的雜志則被出售給了Condé Nast。這兩個機構(gòu)后來各自發(fā)展,直到2006年。在這一年里,Conde收購了WIRED.com。在這次收購之后,除了紙質(zhì)雜志之外,WIRED還開始發(fā)行電子版雜志。有過了不久之后,WIRED.com被轉(zhuǎn)移到了wordPress上,開始用一種全新的方式更新網(wǎng)站,并且保留了此前所發(fā)布的所有內(nèi)容。

你可以將這種文章歸檔方式想象成一種數(shù)字冷凍間。這里儲存了WIRED歷史上發(fā)表過的所有3.422萬個網(wǎng)頁,這些網(wǎng)頁的出現(xiàn)遠遠在WordPress這個平臺初現(xiàn)以前。這些網(wǎng)頁就像是一個巨大的寶庫,里面記錄了科技發(fā)展在各個時期的里程碑,它甚至可以起到科技發(fā)展編年史的作用,從谷歌的誕生,到蘋果的重新崛起,再到社交網(wǎng)絡(luò)的出現(xiàn)。對于這些內(nèi)容,我們感到十分驕傲,當然也非常珍視它們。然而讓我們撓頭的時,雖然這些內(nèi)容的重要性無需多言,但是由于出現(xiàn)的時間較早,當時所使用的編程技術(shù)無法良好的支持我們現(xiàn)在所使用的網(wǎng)頁技術(shù)。更糟糕的是,這些存檔就像是一個沒有網(wǎng)站地圖、也沒有網(wǎng)站架構(gòu)的黑匣子,是的我們無法了解它的體積,這使得將這些頁面遷移到現(xiàn)有網(wǎng)站上成為了一件難度異常高的任務(wù)。

Cyphon的出現(xiàn)

Cyphon是一種我所發(fā)明的技術(shù),我開發(fā)它的用意是為了用一種通用標準來分析WIRED的大量網(wǎng)頁存檔,并且存儲其中的相關(guān)數(shù)據(jù)。

今年4月開始,我一直在開發(fā)這種技術(shù),可以說Cyphon占據(jù)了我?guī)缀跛械墓ぷ鲿r間。我決定使用Node.js將Cyphon打造成一個命令行工具。Node.js是一個時下流行的服務(wù)器端平臺,有大量的開發(fā)人員為其提供支持。最初的時候,我嘗試著對所有存檔網(wǎng)頁進行分析,試圖找到其中是否有可以自動以編程的方式進行分類的規(guī)律。在進行了一些分析時候,我發(fā)現(xiàn),大多數(shù)存檔網(wǎng)頁可以被分成3種類型,每一種類型都對應著各自發(fā)布時期所使用的技術(shù)。在獲得了這個信息之后,我制定了內(nèi)容轉(zhuǎn)移流程,并且對即將使用的工具進行了精加工。

首先,我編寫了一個特殊功能,它可以將大約200本雜志的登錄頁作為起始點,對所有存檔網(wǎng)頁進行分析。這個繁冗的分析工作需要花上幾個小時的時間,但是它可以將尚未進行分析的頁面安全的存儲在一個專門的數(shù)據(jù)庫中,這樣做的好處是避免了數(shù)據(jù)損壞,而且還能夠避免進行重復分析的危險。

接下來,我又編寫了一種方式,它可以將分析得來的粗略數(shù)據(jù)轉(zhuǎn)換為結(jié)構(gòu)性更強的信息:題目、作者、發(fā)布日期等等。在對每一個特定時期的內(nèi)容進行分析的時候,我做了一個獨特的“摘要統(tǒng)計器”。有了這些信息,我們就可以將這些網(wǎng)頁的HTML導入這個摘要統(tǒng)計器,然后進行提取。最后,我又發(fā)明了一種能夠?qū)⑦@些數(shù)據(jù)變成WordPress所支持的簡單格式的方式,然后完成向WordPress平臺的導入。

在這個過程中,對存檔網(wǎng)頁進行分析,以及對內(nèi)容發(fā)表時間的排序成為了技術(shù)上最大的挑戰(zhàn)。讓我欣慰的是,一位名叫Christopher Giffard的開發(fā)人員已經(jīng)編寫了一個非常優(yōu)秀的分析工具,這個工具為我提供了重要的幫助,在Node社區(qū)中,很多人都曾經(jīng)靠著其他開發(fā)人員的幫助完成了目標。我想在這里特別感謝這位開發(fā)人員。為了更好的完成內(nèi)容分析和歸類,我創(chuàng)造了無數(shù)的過濾規(guī)則,這些過濾規(guī)則能夠辨別相似頁面中的那些細微差別,它們也讓內(nèi)容的最終輸出盡可能的靠近當前我們所使用的技術(shù)。最重要的是,在剛開始開發(fā)Cyphon的時候,我就希望它可以被其他人所擴展,可以添加其他的分析規(guī)則和摘要統(tǒng)計器,而我最終完成了這個目標。

例如,在對雜志文章進行了分析之后,我又添加了另一個工具來分析URL列表,完成了大量非雜志文章的統(tǒng)計和導入。

Cyphon所完成的工作:

·34220個網(wǎng)頁的分析

·11195篇存檔文章

·14799篇新文章

·97%的數(shù)據(jù)被成功分析并且導入到新網(wǎng)站平臺

·為所有內(nèi)容生成了1076個標簽

有了這些得來不易的數(shù)據(jù),我終于可以在WordPress平臺上瀏覽這些文章了。而直到這個時候,我才突然意識到:從上世紀90年代,那些先驅(qū)的前赴后繼之后,web已經(jīng)經(jīng)歷了許多的變化。從最早的只有文字的文章,當后來圖片的出現(xiàn),直到現(xiàn)在我們可以在網(wǎng)頁上直接觀看視頻。在web出現(xiàn)的早期,幾乎所有網(wǎng)頁看上去都一樣,而如今網(wǎng)頁的形式已經(jīng)無窮無盡。然而,無論網(wǎng)頁的布局如何改變,問文章的形式幾乎從來沒有什么巨大的改變。

小時 頁面 萬個

況且,這些文章有著自己的價值,就像我此前所說的,它們是科技世界的編年史,可以讓我們了解科技的發(fā)展進程。那么我們要如何利用好這11195篇存檔文章?是否要做一個回顧科技大事件的專題?我相信網(wǎng)站的內(nèi)容編輯們會有更好的想法。

在整理這些海量數(shù)據(jù)的同時,我獲得了極大的滿足感。作為一名工程師,完成這樣的工作總會讓我興奮異常。作為技術(shù)人員,我的職責之一,就是保留好以前的內(nèi)容,并且將其遷移到新的網(wǎng)站上,讓讀者在需要的時候可以輕松的找到這些內(nèi)容。我現(xiàn)在的感覺,就是將這些數(shù)字內(nèi)容整齊的拜訪到了虛擬書架上。

    無相關(guān)信息