[QUOTE]最初由 aq0127 發表
[B]
首先你要到 http://www.google.com/intl/zh-TW/ 的網址去
然後在臺灣 Google 的網頁上按右鍵「檢視原始檔」
一般 Server 端要得到你在輸入區輸入的資料
通常都是以 HTML 的 Form 表單標籤來含括在內來上傳到 Server 端
所以你要找到以 Form 表單開始和以 Form 表單結尾的 HTML 標籤
如以下就是臺灣 Google 資料輸入區的原始檔
語法:
<form action="/search" name=f><table cellspacing=0 cellpadding=0><tr valign=middle>
<td width=75> </td><td align=center><input maxLength=256 size=55 name=q value="">
<script>
document.f.q.focus();
</script>
<input type=hidden name=ie value="Big5">
<input name=hl type=hidden value=zh-TW><br><input type=submit value="Google搜尋"
name=btnG><input type=submit value="好手氣" name=btnI>
</td><td valign=top nowrap><font size=-1> •
<a href=/advanced_search?hl=zh-TW>進階搜尋</a><br> • <a href=/preferences?hl=zh-TW>使用偏好</a><br>
• <a href=/language_tools?hl=zh-TW>語言選項</a></font></td></tr><tr><td colspan=3 align=center><font size=-1>
<input type=radio name=lr value="" checked>搜尋所有網站<input type=radio name=lr value=lang_zh-CN|lang_zh-TW >搜尋所有中文網頁<input type=radio name=lr
value=lang_zh-TW >搜尋中文(繁體)網頁</font></td></tr></table></form>
你可以看到臺灣 Google 的編排很亂,也不好查看
所以我必須自己整理一下,把一些不相關的 HTML 標籤給去掉
而我們只需要保留 Form 表單標籤和 Input 的輸入標籤(加之後的文字)就行了
整理後就變成這樣....
語法:
<form action="/search" name=f>.
<input maxLength=256 size=55 name=q value="">
<input type=hidden name=ie value="Big5">
<input name=hl type=hidden value=zh-TW>
<input type=submit value="Google搜尋" name=btnG>
<input type=submit value="好手氣" name=btnI>
<input type=radio name=lr value="" checked>搜尋所有網站
<input type=radio name=lr value=lang_zh-CN|lang_zh-TW >搜尋所有中文網頁
<input type=radio name=lr value=lang_zh-TW >搜尋中文(繁體)網頁
</form>
1.先看 Form
首先是我們要找表單上傳到 Server 端所引用的搜尋網頁位址
這可從 Form 表單內的參數 action="/search" 可看出來
是 http://www.google.com/intl/zh-TW/ 根目錄底下的 search
也就是 http://www.google.com/search
不過這還不是我們要的結果
因為我們必須要使用以網址的方式來傳參數,不能使用網頁的 Form 來傳
所以必須要加入一個 ? 問號在尾端來告知 Server 端網址之後的哪一些是要處理的參數
因此 http://www.google.com/search? 這才是我們所要的
其次要傳回的參數可能有很多組,那你就必須要讓 Server 端可以自我分辨多個參數
而要在以網址的方式來分辨多個參數之間的差別就必須使用 & 符號
你暫時只需要知道 & 符號是用來區隔多個參數的就行了
2.次看 Input
臺灣 Google 的 Input 輸入標籤有八個
這也就是也就說臺灣 Google 可能最多有八個參數必須回傳
但不一定八個參數都需要,因為可能有些是屬於相同一組的(只須選擇傳一個)
要區分是否為同一組資料就必須以 Input 內的參數 name 和 submit 來分類
而我們所要的也就是 name 的資料和 value 的資料
你可以把 name 當成是一種變數,而 value 就是值或是資料了
所以臺灣 Google 的 Input 參數需要回傳的就只有五組
< input maxLength=256 size=55 name=q value="">
這一組的 value="" 是空的
可得知這是讓使用者自己輸入欲搜尋的關鍵字資料的
我們要的就是 q= 回傳資料
因為 value 是空白,所以 = 之後必須空白
< input type=hidden name=ie value="Big5">
這一組可得到 ie=Big5
用猜的我們可以猜到 Big5 指的就是網頁的編碼類別
< input name=hl type=hidden value=zh-TW>
這一組可得到 hl=zh-TW
看到 zh-TW 也可以猜到是瀏覽器預設使用的語系
< input type=submit value="Google搜尋" name=btnG>
這一組可得到 btnG=Google搜尋
< input type=submit value="好手氣" name=btnI>
這一組可得到 btnI=好手氣
關於 btnG 和 btnI 是屬於 submit 傳送按鈕的類型
這是你按「Google搜尋」鈕還是「好手氣」鈕來傳送資料的模式
在網頁的按鈕我們只能則其一來傳送資料(不可能有人一次按兩個兩鈕吧)
所以我們必須擇其一來使用
< input type=radio name=lr value="" checked>搜尋所有網站
< input type=radio name=lr value=lang_zh-CN|lang_zh-TW >搜尋所有中文網頁
< input type=radio name=lr value=lang_zh-TW >搜尋中文(繁體)網頁
這一組在預設不變動的情況之下可得到 lr=
這是因為其中有一個的 Input 含有 checked 的參數
checked 參數正是表示這一組是預設被選用的資料
所以在 value="" 空的情況下 lr=
其次這裡正是搜尋網頁類別的一個關鍵點
當你把 lr 改成 lr=lang_zh-CN|lang_zh-TW 就是「搜尋所有中文網頁」
或是把 lr 改成 lr=lang_zh-TW 就是「搜尋中文(繁體)網頁」
而當預設被選用 lr= 就是「搜尋所有網站」
3.整合結果
全部資料如下
http://www.google.com/search?
q=
ie=Big5
hl=zh-TW
btnG=Google搜尋
lr=lang_zh-CN|lang_zh-T
整合後
http://www.google.com/search?q=&ie=Big5&hl=zh-TW&btnG=Google搜尋&lr=lang_zh-CN|lang_zh-T
所以整合的搜尋網址答案就是我們要的
當然引用的參數你可以不用按照順序來排列
其中你必須特別注意 q= 這個參數
之前我們說過 q= 正是你欲搜索的關鍵字
在 MyIE2 之中你必須以 %s 來代替關鍵字(%s 必須小寫)
所以在 MyIE2 內 q= 必須改為 q=%s
在 Sleipnir 之中你必須把前面的 q= 放到前綴欄內的最後一位
而後綴則是 q= 之後的部份
書籤