如何从搜索引擎获取搜索结果?

时间:2012-03-26 21:46:59

标签: javascript greasemonkey

我一直在试图弄清楚如何让Greasemonkey用户脚本在后台打开搜索引擎页面并获取搜索结果。我试图查找示例来打开HTML页面,但afaik请求的所有示例处理ajax调用而不是html调用。

任何提示都会很感激。

3 个答案:

答案 0 :(得分:1)

标准的Greasmonkey GM_xmlhttpRequest函数(link to API)可以处理任何类型的请求,而不仅仅是JSON。在示例下,请查看GET request代码段。

注意。像谷歌这样的搜索引擎不会欣赏屏幕报废(如果过快地抓取太多结果,可能会阻止你)。

答案 1 :(得分:0)

没有在GreaseMonkey中完成此操作(事实上,如果你能做到的话,实际上并不知道); 虽然如果你真的希望通过打开一个新选项卡来实现它,并且如果你没有在你的代码中使用任何GM特定的东西(并且不想自动运行代码,那么,这可能是一个障碍),你可以看看Custom Buttons扩展。

有了它,您可以创建可以访问Firefox内部的按钮并调用gBrowser.addTab()之类的内容。

但与CB合作比在GM中更棘手。

如果您感兴趣,这些帖子可能会有所帮助:

从Mozilla复制的代码示例:

var newTabBrowser = gBrowser.getBrowserForTab(gBrowser.addTab("http://www.google.com/"));  
newTabBrowser.addEventListener("load", function () {  
  newTabBrowser.contentDocument.body.innerHTML = "<div>hello world</div>";  
}, true); 

答案 2 :(得分:0)

我做了类似的事情 您所要做的就是将GM_xmlhttpRequest响应保存在DIV中 使用此DIV,您可以执行任何操作(显示,隐藏,仅显示某些内容等)

只需查看my script源代码即可 我很肯定它会帮助你。

我知道你不需要,14k先生代表,但无论如何我会为你分解它:))

函数conectar()调用GM_xmlhttpRequest [GET]并仅存储我要在#divtempora中使用的内容的一部分,这是用户从未看到的虚拟div(隐藏)。
然后函数resp_dxlegacy()遍历虚拟div,将我想要的信息保存在变量中并再次调用conectar()传递此参数并将内容存储在另一个div中,最后显示给用户。