CSDN博客

img zephyr_zhao

网页中使用Goolge搜索引擎之全接触 (1)

发表于2004/7/2 21:06:00  1866人阅读

网页中使用Goolge搜索引擎之全接触
XML, Web Services, JavaScript

在自己的网页上放一个搜索引擎将是非常酷的!
当然要自己实现真正的Internet网页Search Engine对于我们大多数人来说是Mission Impossible的!

狗狗是世界上最好的搜索引擎,至少我这么认为. 如果能在自己的网页上"借用"Google的搜索引擎, 也是件不错的事, 不过一定要"借"得足够巧妙!

本系列打算通过从最简单的URL拼接到XmlHttp,到Soap的使用,通过用纯Javascript实现在网页上使用Google搜索,目的在于通过实例来介绍一些Web方面入门的知识。(我想,有一年WEB编程经历的XDJM可就此打住咯。)

开始正题。
如果仔细观察Google的行为, 会发现在提交搜索的时候, Goolge实际上把参数都放在URL里面了.
比方说, 在所有网站里搜索"Troy" (期待已久的大片,呵呵), 那么只要把以下的URL粘贴到浏览器就可以了
http://www.google.com/search?hl=zh-CN&ie=UTF-8&q=Troy&lr=lang_zh-CN

看起来,只要把上面的URL里面的q=Troy换成其他关键词,就可以实现对Google的"盗链"了

且慢, 如何要搜索的关键词是中文, 那可得另外编码了. 网上有些现成的Javascript的编码函数,不过本着能不写程序就不写程序的原则, 来看看有什么简易的方法.

首先,想到用Form的Get方法来让IE来替我们干活:

http://www.google.com/search">




咦? 好像还是乱码. 原来我的网页默认是GB2312编码的,而狗狗默认了UTF-8. 那要么我们随狗狗,要么狗狗随我们

如果在网页的标签的开始处加入,那么我们的网页也是UTF-8编码了,再试一下, OK! 成功了

呜,要是我不愿意改变我网页的编码呢, 那么我们得通知Google: 我提交得内容是Gb2312编码. 可以在form里面加入,效果是一样的. ie这个参数就是告诉Google,我的浏览器的编码. 更多参数如下:

参数
描述
q
要查的关键词
start
返回结果从那条记录开始,用于分页,默认为0
lr
在指定的语言中查找,可以用"|" 表示或,比方说 lr=lang_zh-CN|lang_zh-TW|lang_en 表示同时在简体中文,繁体中文,英文网页中搜索 (lr表示language restrict)
ie
上面说过了.提交的参数的编码(ie表示input encoding)
oe
和IE相反,是输出结果的编码(output encoding)

可以根据需要选用

唔,至此一个功能最起码的借用Google搜索引擎的网页已经完成了. 事实上, 相当一部分网站也就如此.

不过我相信相当一部分人是不满意, 甚至不屑一顾的. Google的图标,样式都出现在你的网页中,让人一眼就看穿了

(二)

如果能找到某种可以模拟IE表单的提交,并且能在IE之前截获返回的HTML代码,然后做一些简单的加工后再输出到页面,那么就能改善前面的方法了.

微软有个叫XmlHttp的客户端对象,用来和Http服务器通信, 可以模拟提交表单, 接受Http响应. 看起来, 如果用XmlHttp似乎可行, 不过得开始写点Javascript了.

XmlHttp是个很简单得COM 组件, 提供了Open, Send, ResponseText等方法/属性.
那么我们就试着用它来模拟提交一个查询得表单
0 0

相关博文

我的热门文章

img
取 消
img