googler
是透過命令列進行 Google(網路、新聞、影片和網站搜尋)的強大工具。它顯示每個結果的標題、URL 和摘要,可以直接從終端機在瀏覽器中開啟。結果在頁面中取得(使用頁面導航)。支援在單一googler
實例中進行順序搜尋。
googler
最初是為了迎合沒有 X 的無頭伺服器而編寫的。然而,它已經發展成為一個非常方便和靈活的實用程序,可以提供更多功能。例如,獲取任意數量的結果或從任何地方開始,限制搜索任何持續時間,定義別名以穀歌搜索任意數量的網站,輕鬆切換域......所有這一切都在一個非常乾淨的界面中,沒有廣告或流浪網址。 shell 完成腳本確保您不需要記住任何選項。
googler
不以任何方式隸屬於 Google。
以下是一些使用範例:
谷歌你好世界:
$ googler hello world
取得過去14 個月內更新的15 個結果,從網站imdb.com 中關鍵字「jungle book」的第 3 個結果開始:
$ googler -n 15 -s 3 -t m14 -w imdb.com jungle book
或不是過去 14 個月,而是專門找出 2016 年 4 月 4 日至 2016 年 12 月 31 日之間的結果:
$ googler -n 15 -s 3 --from 04/04/2016 --to 12/31/2016 -w imdb.com jungle book
閱讀有關小工具的最新新聞:
$ googler -N gadgets
從Google India伺服器獲取 IPL 板球比賽的英文結果:
$ googler -c in -l en IPL cricket
搜尋 PyCon 2020 上的影片:
$ googler -V PyCon 2020
搜尋引用的文字:
$ googler it's a "beautiful world" in spring
搜尋特定文件類型:
$ googler instrumental filetype:mp3
停用自動拼字更正,例如為googler
而不是google
取得結果:
$ googler -x googler
我覺得很幸運搜尋:
$ googler -j leather jackets
網站具體搜尋:
$ googler -w amazon.com -w ebay.com digital camera
站點特定搜尋在全方位提示下繼續。
位置參數被連接起來(用空格分隔)以形成最終的查詢,因此您可以創造性地使用別名。例如,始終從搜尋結果中排除seoarticlefactory.com:
$ alias googler='googler " -site:seoarticlefactory.com"'
$ googler '<hugely popular keyword filled with SEO garbage>'
尋找單字定義的別名:
alias define='googler -n 2 define'
在omniprompt中尋找n
, p
, o
, O
, q
, g keywords
或結果索引:由於omniprompt將這些鍵或索引字串識別為命令,因此您需要在它們前面加上g
前綴,例如,
g n
g g keywords
g 1
輸入和輸出重定向:
$ googler -C hello world < input > output
請注意,需要-C
以避免列印控製字元(用於彩色輸出)。
管道輸出:
$ googler -C hello world | tee output
使用自訂配色方案,例如,為 Solarized Dark 設計的暖配色方案(螢幕截圖):
$ googler --colors bjdxxy google
$ GOOGLER_COLORS=bjdxxy googler google
透過HTTPS 代理程式的隧道流量,例如偵聽連接埠 8118 的本地 Privoxy 實例:
$ googler --proxy localhost:8118 google
預設情況下,使用環境變數https_proxy
(如果已定義)。
引用多個搜尋關鍵字以自動完成(使用完成腳本):
$ googler 'hello w<TAB>
更多幫助:
$ googler -h
$ man googler
您可以使用googler
嘗試更多有趣的東西:
filetype:mime
、 site:somesite.com
)支持googler
需要 Python 3.6 或更高版本。僅支援每個小版本的最新補丁版本。
要在omniprompt上將url複製到剪貼簿, googler
會在Linux上查找xsel
或xclip
或termux-clipboard-set
(按相同順序),在macOS上查找pbcopy
(預設安裝),在Windows上clip
(預設安裝)。在沒有 X11 的情況下,它還支援 GNU Screen 和 tmux 複製貼上緩衝區。
從套件管理器安裝googler
。如果可用版本已過時,請嘗試其他安裝方法。
●Snap Store( snap install googler
)
googler
v2.7 及更高版本附帶了就地自我升級機制,您可能需要停用該機制。為此,請運行
$ make disable-self-upgrade
安裝前。
適用於 Arch Linux、CentOS、Debian、Fedora、openSUSE 和 Ubuntu 的軟體包隨最新穩定版本一起提供。
如果您安裝了 git,請複製此儲存庫。否則下載最新的穩定版本或開發版本。
若要安裝到預設位置 ( /usr/local
):
$ sudo make install
若要刪除googler
和相關文檔,請執行
$ sudo make uninstall
支援PREFIX
,以防您想安裝到其他位置。
googler
是一個獨立的可執行檔(甚至可以在 Termux 等環境中運行)。從包含目錄:
$ ./googler
googler
是一個獨立的腳本,因此您可以根據需要只下載一個檔案。
若要安裝最新的穩定版本,請執行
$ sudo curl -o /usr/local/bin/googler https://raw.githubusercontent.com/jarun/googler/v4.3.2/googler && sudo chmod +x /usr/local/bin/googler
然後你可以讓 googler 透過運行來升級自己
$ sudo googler -u
同樣,如果你想從 git master 安裝(有風險),請運行
$ sudo curl -o /usr/local/bin/googler https://raw.githubusercontent.com/jarun/googler/master/googler && sudo chmod +x /usr/local/bin/googler
並透過運行升級
$ sudo googler -u --include-git
Bash、Fish 和 Zsh 的搜尋關鍵字和選項補全腳本可以在auto-completion/
各自的子目錄中找到。請參閱您的 shell 手冊以取得安裝說明。
usage: googler [-h] [-s N] [-n N] [-N] [-V] [-c TLD] [-l LANG] [-g CC] [-x]
[--colorize [{auto,always,never}]] [-C] [--colors COLORS] [-j] [-t dN] [--from FROM]
[--to TO] [-w SITE] [-e SITE] [--unfilter] [-p PROXY] [--notweak] [--json]
[--url-handler UTIL] [--show-browser-logs] [--np] [-4] [-6] [-u] [--include-git] [-v] [-d]
[KEYWORD [KEYWORD ...]]
Google from the command-line.
positional arguments:
KEYWORD search keywords
optional arguments:
-h, --help show this help message and exit
-s N, --start N start at the Nth result
-n N, --count N show N results (default 10)
-N, --news show results from news section
-V, --videos show results from videos section
-c TLD, --tld TLD country-specific search with top-level domain .TLD, e.g., 'in' for India
-l LANG, --lang LANG display in language LANG
-g CC, --geoloc CC country-specific geolocation search with country code CC, e.g. 'in' for India.
Country codes are the same as top-level domains
-x, --exact disable automatic spelling correction
--colorize [{auto,always,never}]
whether to colorize output; defaults to 'auto', which enables color when stdout
is a tty device; using --colorize without an argument is equivalent to
--colorize=always
-C, --nocolor equivalent to --colorize=never
--colors COLORS set output colors (see man page for details)
-j, --first, --lucky open the first result in web browser and exit
-t dN, --time dN time limit search [h5 (5 hrs), d5 (5 days), w5 (5 weeks), m5 (5 months), y5 (5
years)]
--from FROM starting date/month/year of date range; must use American date format with
slashes, e.g., 2/24/2020, 2/2020, 2020; can be used in conjunction with --to,
and overrides -t, --time
--to TO ending date/month/year of date range; see --from
-w SITE, --site SITE search a site using Google
-e SITE, --exclude SITE
exclude site from results
--unfilter do not omit similar results
-p PROXY, --proxy PROXY
tunnel traffic through an HTTP proxy; PROXY is of the form
[http://][user:password@]proxyhost[:port]
--notweak disable TCP optimizations and forced TLS 1.2
--json output in JSON format; implies --noprompt
--url-handler UTIL custom script or cli utility to open results
--show-browser-logs do not suppress browser output (stdout and stderr)
--np, --noprompt search and exit, do not prompt
-4, --ipv4 only connect over IPv4 (by default, IPv4 is preferred but IPv6 is used as a
fallback)
-6, --ipv6 only connect over IPv6
-u, --upgrade perform in-place self-upgrade
--include-git when used with --upgrade, get latest git master
-v, --version show program's version number and exit
-d, --debug enable debugging
omniprompt keys:
n, p fetch the next or previous set of search results
index open the result corresponding to index in browser
f jump to the first page
o [index|range|a ...] open space-separated result indices, numeric ranges
(sitelinks unsupported in ranges), or all, in browser
open the current search in browser, if no arguments
O [index|range|a ...] like key 'o', but try to open in a GUI browser
g keywords new Google search for 'keywords' with original options
should be used to search omniprompt keys and indices
c index copy url to clipboard
u toggle url expansion
q, ^D, double Enter exit googler
? show omniprompt help
* other inputs issue a new search with original options
googler
沒有任何!這是為了保持實用程式的速度並避免特定於作業系統的差異。使用者可以享受使用別名的設定檔的優勢(顏色方案除外,可以透過環境變數另外自訂;請參閱顏色)。無需記住選項。
例如,bash/zsh/ksh/etc 的以下別名。
alias g='googler -n 7 -c ru -l ru'
從 Google Russia 伺服器取得 7 個結果,優先考慮俄語結果。
別名具有使用設定檔的兩個目的:
g
時,它會擴展為首選設定。argparse
工作方式, googler
編寫方式使得 alias 中的設定完全被從 cli 傳遞的任何選項覆蓋。因此,當同一用戶運行g -l de -c de -n 12 hello world
時,Google 德國伺服器會傳回 12 個結果,並且優先考慮德語結果。 googler @t
是一個方便的 Google Site Search 附加元件,具有獨特的關鍵字。雖然googler
有一個整合的選項來搜尋網站,但我們使用別名進一步簡化了它。檔案 googler_at 包含網站搜尋別名的清單。要獲取它,請運行:
$ source googler_at
或者,
$ . googler_at
使用googler @t
,您可以透過以下方式在 Wikipedia 中搜尋hexspeak
:
$ @w hexspeak
哦是的!您也可以結合其他googler
選項!為了讓生活更輕鬆,您還可以將 shell 配置為在啟動時取得該檔案。
所有別名均以@
符號開頭(因此名稱googler @t
),並且它們與任何 shell 命令衝突的可能性極小。請隨意將您自己的別名添加到文件中並貢獻有趣的別名。
如果設定了BROWSER
環境變量, googler
可以開箱即用地使用多種基於文字的瀏覽器。例如,
$ export BROWSER=w3m
或一次性使用,
$ BROWSER=w3m googler query
由於某些圖形瀏覽器會向控制台發送訊息, googler
預設會抑制瀏覽器輸出,除非將BROWSER
設定為已知的基於文字的瀏覽器之一:目前為elinks
、 links
、 lynx
、 w3m
或www-browser
。如果您使用不同的基於文字的瀏覽器,則需要使用--show-browser-logs
選項明確啟用瀏覽器輸出。如果您認為您的瀏覽器足夠流行,請提交問題或拉取請求,我們將考慮將其列入白名單。有關--show-browser-logs
的更多詳細信息,請參閱手冊頁。
如果您需要使用設定了BROWSER
GUI 瀏覽器,請使用全提示鍵O
。 googler
將嘗試忽略基於文字的瀏覽器並呼叫 GUI 瀏覽器。瀏覽器日誌始終用O
抑制。
googler
讓您可以透過六個字母的字串自訂配色方案,讓人想起 BSD LSCOLORS
。這六個字母分別代表顏色
分別。六個字母的字串作為--colors
選項的參數傳遞,或作為環境變數GOOGLER_COLORS
的值傳遞。
我們提供以下顏色/款式:
信 | 顏色/款式 |
---|---|
一個 | 黑色的 |
乙 | 紅色的 |
c | 綠色的 |
d | 黃色的 |
e | 藍色的 |
f | 品紅 |
克 | 青色 |
小時 | 白色的 |
我 | 亮黑色 |
j | 鮮紅色 |
k | 亮綠色 |
我 | 亮黃色 |
米 | 亮藍色 |
n | 亮洋紅色 |
哦 | 亮青色 |
p | 亮白色 |
啊 | 小寫字母顏色的粗體版本 |
智慧財產 | 小寫字母的粗體版本,顏色鮮豔 |
x | 普通的 |
X | 大膽的 |
y | 反向影片 |
是 | 粗體反轉視頻 |
預設顏色字串是GKlgxy
,它代表
注意
x1b[90m
– x1b[97m
)可能不適用於所有支援顏色的終端模擬器;請參閱終端模擬器的手冊以及有關 ANSI 轉義序列的 Wikipedia 文章。
若要在搜尋結果中顯示網域名稱而不是擴充的 URL(並使用較少的空間),請設定環境變數DISABLE_URL_EXPANSION
。
在 WSL 上,預設無法偵測到 Windows 端的 GUI 瀏覽器。您需要將BROWSER
環境變數明確設定為 Windows 執行檔的路徑。例如,您可以將以下內容放入 shell 的 rc 中:
$ export BROWSER='/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe'
在某些情況下, googler
顯示的結果數量可能比您預期的要少,例如,如果您取得單一結果 ( -n 1
),它可能不會顯示任何結果。原因是谷歌根據您的地理數據顯示一些谷歌服務(例如Youtube)結果、地圖位置等,而googler
試圖忽略這些數據。在某些情況下,Google(網路服務)不會在搜尋中準確顯示 10 個結果(預設)。我們選擇盡可能忽略這些結果。雖然這個問題可以解決,但需要更多的處理(和更多的時間)。您只需向前導航即可取得下一組結果。
預設情況下, googler
會套用一些 TCP 最佳化並強制使用 TLS 1.2(在 Python 3.4 及更高版本上)。如果您遇到連線問題,請嘗試使用--notweak
開關停用兩者。
如果語言為dk
(丹麥)、 fi
(芬蘭)或is
(冰島),則 Google 新聞服務不可用。使用-l en
。請參閱#187 以了解更多資訊。
一些使用者報告了 macOS 上 iTerm2 的彩色全提示符問題(請參閱問題 #203)。強制執行簡單的全向提示:
export DISABLE_PROMPT_COLOR=1
最初我提出了一個 Pull 請求,但我可以看到最後一次更改是在 7 年前進行的。此外,原作者 Henri Hakkinen 去年沒有任何 GitHub 活動。我為該專案建立了這個名為googler
獨立儲存庫。我保留了原始版權資訊(儘管googler
現在已經有機地不同了)。
Google 提供了一個搜尋 API,它以 JSON 格式傳回結果。然而,根據我對官方文件的理解,該 API 會針對自訂搜尋引擎的現有實例發出查詢,並且每天免費的搜尋查詢次數限制為 100 次。此外,如果他們改變計劃或以其他方式限制 API,我對付款持保留態度。因此,我沒有與 Google 計劃和政策結合,也沒有向公眾公開我的可追蹤個人自訂搜尋 API 金鑰和識別碼。我保留了瀏覽器的方式,即獲取 html,這是一個開放且免費的規格。
您可以在這裡找到googler
的 rofi 腳本。由匿名用戶編寫,未經測試,我們不維護它。
Albert Launcher python 外掛程式儲存庫 (awesome-albert-plugins) 包括使用 googler 的各種網站的支援建議的搜尋插件。請參閱後者的示範和使用說明。
歡迎請求請求。請造訪 #209 以取得 TODO 清單。
特別感謝 jeremija 和 Narrat 的貢獻。
標誌版權所有 © 2017 王志明。
您可以隨程式碼自由地重新分發它,或者在描述或連結到該專案時使用它。您不應該建立它的修改版本,使其成為您專案的標誌或圖示(個人分叉和/或以上游為目標的分叉除外),或未經書面許可以其他方式使用它。