浏览器之家


世纪之窗如何得到搜索串

网站的搜索串通常可以通过地址栏显示的地址分析得到。方法是:先使用网站的搜索功能任意搜索一个关键字,进入搜索结果页面后,找到地址中搜索的关键字 ioage,如下图,将其换成 %s即http://cnweb.search.live.com/results.aspx?q=%s&form=QBLH&scope=web,将这个搜索串添加到添加搜索引擎对话框里,设置好后,即可试用这个搜索引擎,但是用该搜索引擎搜索中文时,会无法使用(有些网站上会乱码),这是因为编码的问题,遇到这种情况,需要将搜索串中的 %s 换成 %us 或者 %rs。经测试,将 %s 换成 %us 之后,即可搜索中文。这样,得到的正确的搜索串为:http://cnweb.search.live.com/results.aspx?q=%us&form=QBLH&scope=web

 

有时候,地址栏显示的地址并未包含关键字,如下图:

这时候就需要分析页面代码,来得到网站的搜索串了。

搜索串的结构一般如下:提交地址?变量1&变量2&变量3…,提交地址和变量之间用 ? 隔开,两个变量之间用 & 隔开。所以只需要找到完整的提交地址(不一定是地址栏显示的地址)和变量即可拼出正确的搜索串。

这里使用Google的翻译文字功能介绍得到搜索串的方法。

首先,在输入框中输入“凤凰工作室”,选择原始语言为中文,目标语言为英语,翻译后来到翻译结果页面。

然后,查看搜索结果页面的源文件(Viewpage 插件是一款好用的页面代码分析工具,下图中即使用此插件进行分析,在插件页面可以下载)。

搜索串需要的提交地址一般为<FORM>标签自身属性action的值,变量一般为<FORM>的下级标签中name属性的值。

图中标记1为提交地址action,此页面使用的是相对路径/translate_t,结合当前页面的地址,得到的提交地址为http://translate.google.cn/translate_t;
标记2为变量hl,值为zh-CN,所以此处在搜索串中应该表示为 hl=zh-CN;
标记3为变量ie,值为UTF8,所以此处在搜索串中应该表示为 ie=UTF8;
标记4为变量text,值为关键字“凤凰工作室”,所以此处在搜索串中应该表示为 text=%s;
标记5为变量sl,值为zh-ch,所以此处在搜索串中应该表示为sl=zh-ch;
标记6处为变量tl,值为en,所以此处在搜索串中应该表示为tl=en;

综合上面的分析,将提交地址和变量用 ? 连接、将变量之间用 & 连接,可以得到完整的搜索串为:http://translate.google.cn/translate_t?hl=zh-CN&ie=UTF8&text=%s&sl=zh-ch&tl=en

将这个搜索串添加到搜索引擎里,试用会发现输入中文时翻译会乱码,将 %s 改为 %us 之后,即可正确识别中文,所以正确的搜索串应为:http://translate.google.cn/translate_t?hl=zh-CN&ie=UTF8&text=%us&sl=zh-ch&tl=en

进一步研究页面代码的话,会发现 sl 是表示原始语言,tl 是表示目标语言,所以如果在搜索串里使 sl=en,tl=zh-ch,即可用来将英语翻译成中文。

评论

没安装畅言模块