2007年2月15日 星期四

Yahoo!水管,全民駭客任務! (Mr. 6)

Yahoo!水管,全民駭客任務! (Mr. 6): "什麼是「水管」?水管有何趣處?套台灣網友熟悉的術語來說,它就是一個「資料服務產生器」, 透過它可以輕輕鬆鬆的為你的讀者製作各式各樣的資料服務。比方說,你可以用水管來自製一個「你家附近一公里內的牛肉麵店搜尋器」、「關於總統大選的新聞訂 閱服務偏藍版/偏綠版」、「價錢在100到500元之間的親子書籍搜尋器」等等。有人將雅虎水管形容為「白癡都能做的Mashup」,有人則將它喻為「圖 畫型的程式語言」,其實,它的名字「pipe」已說明一切,如果玩過UNIX作業系統的「pipe」的人,聽到這名字會非常非常的興奮;如果你不夠興奮, 就是沒真的使用過pipe。Pipe就是把前一個指令所輸出的結果,再灌入下一個指令,可以將好幾個函數指令串在一起。玩到最高境界時,就算眼前有再大量 的資料,只要好好運用grep、eval、wc、sort、echo、nawk、head、tail等函數指令灌過來又灌過去幾次以後,就可以輕鬆篩檢出 來;即使是再複雜的資料,灌進這一連串的「水管」,也得乖乖的跳出一些你想要的結果。將「pipe」使用到極致的工程師,就算在Starbucks盯著菜 單點咖啡也會在腦裡自動跳出一連串「pipe」試圖篩選眼前的資料。"
雅虎水管的原理就是,有時候我們在瀏覽器上面的住址欄,直接竄改網址.com後面 的字串,按下Enter,就可以得到新的頁面;網路上有些頁面不是顯示美美的網站給人的眼睛看的,而是像是RSS、Atoms等XML「資料語言」,給機 器讀的,而雅虎水管讓人們把這些網站當作好用的小幫手,只要將資料灌給它們,它們就會吐出進一步的資料,再拿這些資料灌入其他小幫手,就會取得更進一步的 資料。比如說,有人就用雅虎水管自己設計了一個「eBay Price Watch」服 務,做了三個輸入框,問問使用者要搜什麼、上下限各多少錢,使用者可能輸入「腕錶、$100、$300」,然後將「腕錶」灌入eBay網址,它就會告訴你 所有目前在eBay裡的腕錶和價錢,再將這些資料灌入另一個雅虎提供的「filter」小幫手,幫你篩檢在$100元到$300元間的東西,吐出的結果就 是目前在eBay上面賣的所有$100到$300元間的腕表。另一個人則用雅虎水管製作了一個「尋找附近有某某設施的出租公寓」服務,先在Craigslist取得某城市的所有正在出租的公寓及它們的位置,再和Yahoo! Local提供的商家的位置作比對,就可以告訴你,「舊金山市區有哪些出租公寓,附近有中國餐館?」
當然,雅虎水管這個「資料服務產生器」的成功與否,除了eBayCraigslistAmazon這 些網站的資料贊助外,也要看看雅虎水管本身還提供了什麼小幫手來讓人們更靈活的處理網站所「吐」出的資料。目前看來雅虎水管它提供了「For Each」來將資料逐筆檢視、「Content Analysis」作特殊字串篩檢,還有「Sort」、「Unique」、「Union」等等來整理資料,還有「Location extractor」可以找出地點的經緯度,最後大概就是可能讓Google怕怕的「Search」工具,有了它,雅虎水管讓每個人都可以自行製作「進階 搜尋」。最重要的是,其實每個人用雅虎水管所製作的服務,本身也成了一個讓別的製作人可以善加利用的小工具,在這個服務之上可以再架設更進一步的服務。

沒有留言: