对于Edx.org CS50's Web Programming with Python and JavaScript的项目0,其中一项任务是创建一个搜索功能,允许用户执行高级Google搜索和“I'm feeling lucky”提交按钮。
在进入更具挑战性的Google高级搜索之前,“I'm feeling lucky”提交应该发送一个httpget请求URL,该URL只返回搜索结果的第一个项目。谷歌已经停止了这个功能,讲座并没有涉及这一点,但从研究我有gathered我发现,下面的URL,当键入到谷歌浏览器的地址栏确实完成了任务。
http://www.google.com/search?q={query}&btnI
或https://www.google.com/search?btnI=1&q={query}
我不熟悉如何设置获取请求URL上面只使用HTML表单和输入标签。在相关的讲座中没有任何内容涉及到这一点,脚本也没有介绍。我已经尝试了各种方法来设置Form和Input标签的属性,但是当应用时,结果只是对q={query}的常规Google搜索。下面是我尝试过的一个例子。
<form action="https://www.google.com/search?btnI=1&q">
<input type="text" class="search" name="q" style="width:300px"/>
<input type="submit" class="input_rel_lucky" value="I'm Feeling Lucky" />
</form>
结果只是一个普通的谷歌搜索。我已经尝试了'type = url',并在表单上键入了与地址栏上工作的URL完全相同的URL。我可能错过了一些简单的东西,但我已经花了太多的时间已经试图让它工作。
我们如何设置表单和输入标记上的属性,以使“我感到幸运”搜索工作?
2条答案
按热度按时间mpgws1up1#
换成这个
zwghvu4y2#
感谢fabio-assuncao并添加更多:对于google服务器的GET方法,重要的是提交元素的名称和输入的文本值。对于谷歌搜索按钮默认谷歌名称是btnK和我感觉幸运的是btnI。此外,很高兴知道迫使谷歌将搜索结果重定向为“我感觉幸运”选项到第一个结果,就足以将其提交名称命名为btnI,正如之前所说的那样。为了防止空的Google搜索提交导致https://www.google.com/wbhp,我写了下面的JS来执行它,它工作了。要添加更多关于进入google图片结果的信息,在google图片搜索页面中,你应该添加一个隐藏的input元素,它的名字是tbm,值是isch。