將網站轉成Gadget的心得分享 - Google

Cara avatar
By Cara
at 2007-07-25T05:04

Table of Contents


相信現在每個人都需要在網路上查尋資料
字典、捷運、網路拍賣、火車時刻表
但是每查一個東西都需要開一個網頁
穿越過一大堆廣告、不必要的文字或圖片
這時候如果有同樣功能的Gadget用就方便多了
在這裡分享一下我將一些查尋網站轉成gadget的一些程式設計上的心得
____________________________________________________

1.適不適合轉成gadget使用?

並不是所有的網站都適合轉成gadget,第一個考慮到的就是版面的問題
因為在iGoogle的用意就是將不同的工具濃縮放在一起
若是某些網站功能,像拍賣網、購物網這種需要很大的版面來顯示圖片
而又沒有辦法精簡,就算精簡了,使用者也用起來綁手綁腳

2.該網頁資料截取的難易度?

將網頁轉成gadget的目的必定是要將我們需要的資料從龐大的HTML中截取出來
然而最困難的步驟,就是在於你必須寫一個程式去讀取別人網頁的source code
若是該source code產生沒有規律性,亂七八糟,這時就要寫一大堆判斷去避開
不需要的資料

3.主要技術

(API部份請參照Gadget Javascript程式庫http://tinyurl.com/yownhp)

content type選擇:
Gadget的內容有三種類型 html 、 html-inline、URL
將網站放到gadget上最簡單的方法就是使用URL,但是這樣一來我們就沒有辦法把
source code抓出來精簡後再呈現,所以URL只適用於原本就設計成很小的網頁
而這篇文章的重點是要將大版面的網頁轉成小gadget,
因此建議content type使用 html 類型

設計步驟:
如果某些網站若沒有用到特殊的技術,只有簡單的HTML,不用cookie,session
例如 : yahoo字典、縮網址 等等 ,那麼處理起來都是大同小異
不外乎以下這幾個步驟
------------------------------------------------------------------
A.設計你的Gadget版面 -> B.抓取該原始網頁原始碼 -> C.截取需要的資料
-> D呈現版面
------------------------------------------------------------------

最困難的應該在於A和C的步驟

至於B步驟:
iGoogle提供的Javascript API中有個function 叫 _IG_FetchContent()
只需要將網站URL丟進去這個function 會幫你把原始碼抓出來

D步驟:
只需要在資料處理完時 用_gel()改掉HTML,show 出結果就好

舉例: yahoo字典
這裡舉一個yahoo字典的例子 當我輸入要查的單字 例如"test" 再按送出
會傳到這個網頁 http://tw.dictionary.yahoo.com/search?ei=UTF-8&p=test
而網址後的test即是我要查的單字 因此這裡可以設個變數去存使用者要查尋的
單字然後再把它和"http://tw.dictionary.yahoo.com/search?ei=UTF-8&p="
接起來之後再丟進IG_FetchContent()就可以得到查尋結果的source code了
抓到source code後就要做精簡 運用.indexOf() .substring() 取出需要的地方
整理好後再show出來

4.版權問題

小弟在發表這篇文章前想了很久,因為我不清楚這種直接用HTTP get、post截取對方
的web算不算侵權,還是像crawler、搜尋引擎一樣,憑良心看要不要遵守對方的
robot.txt,不過我想無論如何繼然是要用人家的東西,所以千萬還是要尊重一下版權
最少還是要註明一下所有權才是...

--

--
Tags: Google

All Comments

Andy avatar
By Andy
at 2007-07-28T01:29
遵循 robots.txt的rule囉 XD
Oscar avatar
By Oscar
at 2007-07-30T02:05
好文推一下
Yedda avatar
By Yedda
at 2007-08-03T14:10
在iGoogle目錄搜尋一個叫做GadgetMaker (webclip)的小工具
可以直接把網頁中喜歡的地方剪出來當作 Gadget
George avatar
By George
at 2007-08-05T07:01
嗯..GadgetMaker不錯用 但只能剪出Web中某個block
Emma avatar
By Emma
at 2007-08-08T08:59
如果資料分散在網頁各部 就沒有辦法依照自己想法排囉
Steve avatar
By Steve
at 2007-08-08T13:38
感謝樓樓樓上XD,我剛剛試用了覺得蠻不錯的

註冊igoogle 收到垃圾信

Aaliyah avatar
By Aaliyah
at 2007-07-24T16:13
好奇的使用igoogle,於是就使其它mail去註冊 結果註冊完馬上收到垃圾信,像是要騙密碼的信,己經二封了。 有人也有這樣情況嗎?? -- http://0rz.tw/fe2E9 我哥想紅....他的blog - ...

gmail線上收信,登入卻總在下載中..囧"

Tom avatar
By Tom
at 2007-07-24T15:37
gmail線上收信,登入卻總在下載中....得一直按F5或重新整理, 有時按了F5或重新整理就變成空白頁... 或是已登入信箱了,但開啟一封信或寫好一封信要寄出,也是等好久. (信箱有三個,使用容量約2gb,不到1gb及數mb而已呀~ 並沒有很滿) 這情形已經有兩三個月了,時好時壞,(以前也會這樣,但最近真 ...

Picasa購買空間問題 有無客服的e-mail …

Dinah avatar
By Dinah
at 2007-07-24T10:19
※ 引述《farmerhukimo (PS3~トロ新聞台專用機~)》之銘言: : 我在7/4上網申請了7G /$ 25的空間升級選項 : 當天收到E-mail確認 7/6看到信用卡已經扣款 : 但是到現在還是沒有升級..還在1024MB...囧rz : 已經等超過10天了,想找個客服電話或者是E-ma ...

Tool Bar上搜尋欄位的問題

Oliver avatar
By Oliver
at 2007-07-23T23:39
= =andgt; 各位好, 我在使用Google Tool Bar有個問題 就是每次要輸入搜尋文字的時候它都是勾選從右到左的讀取順序 就算取消了,每次開新視窗就會變回勾選從右到左讀取 請問要在哪裏做更改 謝謝 -- 我們是昆仕蘭科技大學(Queensl ...

請問gmail pop3收信最近正常嗎

Dora avatar
By Dora
at 2007-07-23T20:51
請問大家近來 gmail的pop3收信正常嗎? 我已經有好幾天都收不下來, 只能直接上web介面看信了. - ...