直接从 Chrome 地址栏打开前三个 Google 搜索结果

直接从 Chrome 地址栏打开前三个 Google 搜索结果

最近,我的一个朋友发现我经常打开标签页中的前几个 Google 结果而不先查看它们。现在我想直接从地址栏中打开最佳 Google 结果。我知道可以在设置中将自定义搜索引擎添加到地址栏中。但是,在使用这样的自定义搜索引擎时,如何让 Chrome 一次打开多个标签页?

答案1

您或许可以在后台运行一个网络服务器,接收查询并将其传递给 Google“手气不错”链接。打开多个标签显然需要您在 Chrome 中访问网站并明确允许弹出窗口。要打开前 3 个(而不仅仅是第一个)搜索结果,您可能必须获取页面的源代码(可能使用 wget 或链接)并从中提取搜索结果。要仅查找搜索结果并避免打开 gmail 链接,您可能希望过滤掉搜索条件第二次匹配之前的所有内容。

其代码如下:

wget http://google.com/?q=$query -O $query.html
l=grep -n $query | head -c 1
head -cv $l
echo $source | grep '<a href='
for i in $l1 $l2 $l3; do google-chrome-unstable $i ;done

请注意,我的代码可能已损坏,我不知道如何在不使用命令行的情况下运行脚本,但也许您可以使用带有 python system.os 命令的 web2py 服务器来执行此操作。

希望能帮助到你

答案2

我知道这不是您正在寻找的,但是我用这个 JavaScript 代码制作了一个书签,如果您在搜索结果页面上,它会在新标签中打开 Google 搜索结果的前 5 个结果:

javascript: (function (element, url) {
    element.src = url;
    element.onload = function () {
        jQuery.noConflict();
        var elements = jQuery("#search .g:nth-child(-n+4)>div>div>a:first-child");
        console.log("IN");
        jQuery.each(elements, function (key, element) {
            win = window.open(element.href, '_blank');
            console.log(key);
            if (key > 3) {
                console.log("IN");
                return false;
            }
            if (win) {
                win.focus();
            } else {
                alert('Please allow popups for this website');
            }
        })
    };
    document.head.appendChild(element);
})(document.createElement('script'), '//code.jquery.com/jquery-latest.min.js')

.g:nth-child(-n+4)可以在这里设置标签的数量,在本例中为 5。

不幸的是,Google 会不时更改 DOM 结构,因此您需要调整代码。大多数情况下,只是进行微小的更改,只需将一个选择器换成另一个即可。

您可以通过添加新书签并将此代码粘贴为“URL”来创建此类书签。瞧!

相关内容