针对此服务的Google Lucky搜索脚本

假设您正在撰写电子邮件,并且您想要插入一个指向IMDB页面的链接电影“夺宝奇兵脚步:

  1. 从电子邮件客户端切换到Web浏览器。
  2. 在Google搜索字段中搜索“imdb raiders lost ark”。
  3. Copy the URL for the page on imdb.com from the search results list(You can do this from the contextual menu, or you can use drag-and-drop.)
  4. 切换回电子邮件客户端。
  5. 糊(或者,如果您在步骤#3中使用拖放,请放弃。)

我每天都会这样做对某种自动化似乎已经成熟,特别是因为我只知道如果我在谷歌搜索“imdb raiders lost ark”,它将成为结果中的第一个命中(事实上​​,你只能谷歌“imdb袭击者”。)

所以,我写了两个脚本ThisService通过“服务”菜单执行Google Lucky搜索在这两个脚本中,当前应用程序中的选定文本将用作Google搜索的术语。

The first one I call “Google Lucky (Insert URL)”; with this script, the selected text in the current application is replaced by the URL of the Google Lucky searchThe second one I call “Google Lucky (Open)”; with this script, the result of the Google Lucky search is opened in a new window in your default browser — i.e当您真正想要访问该页面时,不只是粘贴其URL。

我大约三个星期前写过这些剧本,几乎每天都在使用它们我将键盘快捷键Command-Shift-6分配给“插入URL”版本(助记符:“^”表示“插入”),将Command-Shift-7分配给“打开”版本。

所以这里是我需要插入URL的步骤攻略现在电子邮件中的IMDB页面:

  1. 无论我想要URL到哪里,都要输入“imdb raiders”。
  2. 选择那些单词。
  3. 键入Command-Shift-6。

不涉及应用程序之间的切换 - 只需键入您要查找的内容并点击快捷方式因为它们是服务,所以它们可以在任何应用程序中运行。

源代码为'Google Lucky(插入网址)'

#!/usr/bin/env perl
use strict;
use warnings;
use URI::Escape qw(uri_escape_utf8);
use open IO  =>  ":utf8",       # UTF8 by default
                 ":std";        # Apply to STDIN/STDOUT/STDERR

my $query = do { local $/; <> };
$query =~ s/^\s+//g;
$query =~ s/\s+$//g;

my $url = "http://www.google.com/search?&q="uri_escape_utf8($ query,“^ A-Za-z0-9”)"&btnI";
my $headers = `curl -iIs -A "Mozilla/5.0" "$url"`;
$headers =~ m/^Location: (\S+)/im;
print $1;

源代码为'Google Lucky(Open)'

#!/usr/bin/env perl
use strict;
use warnings;
use URI::Escape qw(uri_escape_utf8);
use open IO  =>  ":utf8",       # UTF8 by default
                 ":std";        # Apply to STDIN/STDOUT/STDERR

my $query = do { local $/; <> };
$query =~ s/^\s+//g;
$query =~ s/\s+$//g;

my $url = "http://www.google.com/search?&q="uri_escape_utf8($查询)"&btnI";
system("/usr/bin/open", $url);

有关如何将这些脚本转换为系统范围的“服务”菜单项的信息,请访问ThisService网站键盘快捷键(如果需要)在ThisService中指定,而不是在脚本本身中指定。