googler
ist ein leistungsstarkes Tool für Google (Web, Nachrichten, Videos und Website-Suche) über die Befehlszeile. Es zeigt den Titel, die URL und die Zusammenfassung für jedes Ergebnis an, die direkt vom Terminal aus in einem Browser geöffnet werden können. Die Ergebnisse werden seitenweise abgerufen (mit Seitennavigation). Unterstützt sequentielle Suchen in einer einzelnen googler
Instanz.
googler
wurde ursprünglich für Headless-Server ohne X geschrieben. Sie können es in einen textbasierten Browser integrieren. Es hat sich jedoch zu einem sehr praktischen und flexiblen Dienstprogramm entwickelt, das noch viel mehr bietet. Rufen Sie beispielsweise eine beliebige Anzahl von Ergebnissen ab oder beginnen Sie an einer beliebigen Stelle, begrenzen Sie die Suche auf eine beliebige Dauer, definieren Sie Aliase für die Google-Suche nach beliebig vielen Websites, wechseln Sie problemlos Domains ... und das alles in einer sehr übersichtlichen Benutzeroberfläche ohne Werbung oder verirrte URLs. Die Shell-Vervollständigungsskripte stellen sicher, dass Sie sich keine Optionen merken müssen.
googler
ist in keiner Weise mit Google verbunden.
Hier einige Anwendungsbeispiele:
Google Hallo Welt :
$ googler hello world
Rufen Sie 15 Ergebnisse ab, die in den letzten 14 Monaten aktualisiert wurden, beginnend mit dem 3. Ergebnis für die Schlüsselwörter Dschungelbuch auf der Website imdb.com:
$ googler -n 15 -s 3 -t m14 -w imdb.com jungle book
Oder suchen Sie statt der letzten 14 Monate gezielt nach Ergebnissen zwischen dem 4. April 2016 und dem 31. Dezember 2016:
$ googler -n 15 -s 3 --from 04/04/2016 --to 12/31/2016 -w imdb.com jungle book
Lesen Sie aktuelle Neuigkeiten zu Gadgets:
$ googler -N gadgets
Holen Sie sich Ergebnisse zu IPL Cricket vom Google India -Server auf Englisch :
$ googler -c in -l en IPL cricket
Suche nach Videos zur PyCon 2020:
$ googler -V PyCon 2020
Zitierten Text durchsuchen:
$ googler it's a "beautiful world" in spring
Suchen Sie nach einem bestimmten Dateityp :
$ googler instrumental filetype:mp3
Deaktivieren Sie die automatische Rechtschreibkorrektur , z. B. Ergebnisse für googler
statt für google
abrufen:
$ googler -x googler
Ich habe Glück bei der Suche:
$ googler -j leather jackets
Websitespezifische Suche:
$ googler -w amazon.com -w ebay.com digital camera
Die ortsspezifische Suche wird bei Omniprompt fortgesetzt.
Positionsargumente werden zusammengefügt (mit begrenzendem Leerzeichen), um die endgültige Abfrage zu bilden, sodass Sie bei Ihren Aliasen kreativ sein können. Schließen Sie beispielsweise seoarticlefactory.com immer aus den Suchergebnissen aus:
$ alias googler='googler " -site:seoarticlefactory.com"'
$ googler '<hugely popular keyword filled with SEO garbage>'
Alias, um Definitionen von Wörtern zu finden:
alias define='googler -n 2 define'
Suchen Sie im Omniprompt nach den Schlüsselwörtern n
, p
, o
, O
, q
, g keywords
oder einem Ergebnisindex: Da das Omniprompt diese Schlüssel oder Indexzeichenfolgen als Befehle erkennt, müssen Sie ihnen ein g
voranstellen, z. B.
g n
g g keywords
g 1
Eingabe- und Ausgabeumleitung :
$ googler -C hello world < input > output
Beachten Sie, dass -C
erforderlich ist, um das Drucken von Steuerzeichen zu vermeiden (für farbige Ausgabe).
Rohrausgang :
$ googler -C hello world | tee output
Verwenden Sie ein benutzerdefiniertes Farbschema , z. B. ein warmes Farbschema für Solarized Dark (Screenshot):
$ googler --colors bjdxxy google
$ GOOGLER_COLORS=bjdxxy googler google
Tunneln Sie den Datenverkehr über einen HTTPS-Proxy , z. B. eine lokale Privoxy-Instanz, die Port 8118 überwacht:
$ googler --proxy localhost:8118 google
Standardmäßig wird die Umgebungsvariable https_proxy
verwendet, sofern definiert.
Zitieren Sie mehrere Suchbegriffe zur automatischen Vervollständigung (mithilfe des Vervollständigungsskripts):
$ googler 'hello w<TAB>
Weitere Hilfe :
$ googler -h
$ man googler
Weitere lustige Dinge, die Sie mit googler
ausprobieren können:
filetype:mime
, site:somesite.com
). googler
erfordert Python 3.6 oder höher. Es wird nur die neueste Patch-Version jeder Nebenversion unterstützt.
Um die URL am Omniprompt in die Zwischenablage zu kopieren, sucht googler
nach xsel
oder xclip
oder termux-clipboard-set
(in derselben Reihenfolge) unter Linux, pbcopy
(standardmäßig installiert) unter macOS und clip
“ (standardmäßig installiert) unter Windows. Es unterstützt auch GNU Screen und tmux Copy-Paste-Puffer, wenn X11 nicht vorhanden ist.
Installieren Sie googler
über Ihren Paketmanager. Wenn die verfügbare Version veraltet ist, versuchen Sie es mit einer alternativen Installationsmethode.
● Snap Store ( snap install googler
)
googler
v2.7 und höher wird mit einem direkten Selbstaktualisierungsmechanismus ausgeliefert, den Sie möglicherweise deaktivieren möchten. Führen Sie dazu aus
$ make disable-self-upgrade
vor der Installation.
Pakete für Arch Linux, CentOS, Debian, Fedora, openSUSE und Ubuntu sind mit der neuesten stabilen Version verfügbar.
Wenn Sie Git installiert haben, klonen Sie dieses Repository. Andernfalls laden Sie die neueste stabile Version oder Entwicklungsversion herunter.
So installieren Sie es am Standardspeicherort ( /usr/local
):
$ sudo make install
Um googler
und zugehörige Dokumente zu entfernen, führen Sie Folgendes aus:
$ sudo make uninstall
PREFIX
wird unterstützt, falls Sie an einem anderen Ort installieren möchten.
googler
ist eine eigenständige ausführbare Datei (und kann sogar in Umgebungen wie Termux ausgeführt werden). Aus dem enthaltenden Verzeichnis:
$ ./googler
googler
ist ein einzelnes eigenständiges Skript, sodass Sie bei Bedarf auch nur eine einzelne Datei herunterladen können.
Um die neueste stabile Version zu installieren, führen Sie Folgendes aus:
$ sudo curl -o /usr/local/bin/googler https://raw.githubusercontent.com/jarun/googler/v4.3.2/googler && sudo chmod +x /usr/local/bin/googler
Anschließend können Sie Googler durch Ausführen selbst ein Upgrade durchführen lassen
$ sudo googler -u
Wenn Sie von Git Master aus installieren möchten ( riskant ), führen Sie Folgendes aus:
$ sudo curl -o /usr/local/bin/googler https://raw.githubusercontent.com/jarun/googler/master/googler && sudo chmod +x /usr/local/bin/googler
und durch Ausführen aktualisieren
$ sudo googler -u --include-git
Suchschlüsselwörter und Optionsvervollständigungsskripte für Bash, Fish und Zsh finden Sie in den jeweiligen Unterverzeichnissen von auto-completion/
. Installationsanweisungen finden Sie im Handbuch Ihrer 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
hat keine! Dadurch soll die Geschwindigkeit des Dienstprogramms erhalten bleiben und betriebssystemspezifische Unterschiede vermieden werden. Benutzer können die Vorteile von Konfigurationsdateien mit Aliasen nutzen (mit Ausnahme des Farbschemas, das zusätzlich über eine Umgebungsvariable angepasst werden kann; siehe Farben). Es besteht keine Notwendigkeit, sich Optionen zu merken.
Beispielsweise der folgende Alias für bash/zsh/ksh/etc.
alias g='googler -n 7 -c ru -l ru'
ruft 7 Ergebnisse vom Google Russia-Server ab, wobei Ergebnisse auf Russisch bevorzugt werden.
Der Alias dient beiden Zwecken der Verwendung von Konfigurationsdateien:
g
aufruft, werden die bevorzugten Einstellungen angezeigt.argparse
ist googler
so geschrieben, dass die Einstellungen im Alias durch alle von cli übergebenen Optionen vollständig überschrieben werden. Wenn also derselbe Benutzer g -l de -c de -n 12 hello world
ausführt, werden 12 Ergebnisse vom Google Deutschland-Server zurückgegeben, wobei Ergebnisse auf Deutsch bevorzugt werden. googler @t
ist ein praktisches Add-on zur Google Site Search mit eindeutigen Schlüsselwörtern. Während googler
über eine integrierte Option zum Durchsuchen einer Website verfügt, haben wir diese durch Aliase weiter vereinfacht. Die Datei googler_at enthält eine Liste von Aliasen für die Website-Suche. Um es zu beschaffen, führen Sie Folgendes aus:
$ source googler_at
oder,
$ . googler_at
Mit googler @t
durchsuchen Sie Wikipedia folgendermaßen nach hexspeak
:
$ @w hexspeak
Ach ja! Sie können auch andere googler
Optionen kombinieren! Um Ihnen das Leben zu erleichtern, können Sie Ihre Shell auch so konfigurieren, dass sie die Datei beim Start als Quelle bereitstellt.
Alle Aliase beginnen mit dem @
-Symbol (daher der Name googler @t
) und es besteht ein minimales Risiko, dass sie mit Shell-Befehlen in Konflikt geraten. Fühlen Sie sich frei, Ihre eigenen Aliase zur Datei hinzuzufügen und die interessanten beizutragen.
googler
funktioniert sofort mit mehreren textbasierten Browsern, wenn die Umgebungsvariable BROWSER
festgelegt ist. Zum Beispiel,
$ export BROWSER=w3m
oder zur einmaligen Nutzung,
$ BROWSER=w3m googler query
Da bestimmte grafische Browser Meldungen an die Konsole senden, unterdrückt googler
standardmäßig die Browserausgabe, es sei denn, BROWSER
ist auf einen der bekannten textbasierten Browser eingestellt: derzeit elinks
, links
, lynx
, w3m
oder www-browser
. Wenn Sie einen anderen textbasierten Browser verwenden, müssen Sie die Browserausgabe explizit mit der Option --show-browser-logs
aktivieren. Wenn Sie der Meinung sind, dass Ihr Browser beliebt genug ist, senden Sie bitte einen Issue- oder Pull-Request und wir werden erwägen, ihn auf die Whitelist zu setzen. Weitere Informationen zu --show-browser-logs
finden Sie auf der Manpage.
Wenn Sie einen GUI-Browser mit eingestelltem BROWSER
verwenden müssen, verwenden Sie die Omniprompt-Taste O
. googler
wird versuchen, textbasierte Browser zu ignorieren und einen GUI-Browser aufzurufen. Browserprotokolle werden mit O
immer unterdrückt.
googler
können Sie das Farbschema über eine sechsbuchstabige Zeichenfolge anpassen, die an BSD LSCOLORS
erinnert. Die sechs Buchstaben stellen die Farben dar
jeweils. Die aus sechs Buchstaben bestehende Zeichenfolge wird entweder als Argument an die Option --colors
oder als Wert der Umgebungsvariablen GOOGLER_COLORS
übergeben.
Wir bieten folgende Farben/Stile an:
Brief | Farbe/Stil |
---|---|
A | Schwarz |
B | Rot |
C | Grün |
D | Gelb |
e | Blau |
F | Magenta |
G | Cyan |
H | Weiß |
ich | leuchtend schwarz |
J | leuchtend rot |
k | leuchtend grün |
l | leuchtend gelb |
M | leuchtend blau |
N | helles Magenta |
O | helles Cyan |
P | strahlend weiß |
AH | Fettversion der Kleinbuchstabenfarbe |
IP | fette Version der hellen Kleinbuchstabenfarbe |
X | Normal |
X | deutlich |
j | umgekehrtes Video |
Y | Fettes umgekehrtes Video |
Die Standardfarbzeichenfolge ist GKlgxy
und steht für
Beachten Sie, dass
x1b[90m
– x1b[97m
) sind möglicherweise nicht in allen farbfähigen Terminalemulatoren verfügbar;Bitte konsultieren Sie das Handbuch Ihres Terminalemulators sowie den Wikipedia-Artikel zu ANSI-Escape-Sequenzen.
Um die Domänennamen in den Suchergebnissen anstelle der erweiterten URL anzuzeigen (und weniger Platz zu beanspruchen), legen Sie die Umgebungsvariable DISABLE_URL_EXPANSION
fest.
Unter WSL können GUI-Browser auf der Windows-Seite standardmäßig nicht erkannt werden. Sie müssen die Umgebungsvariable BROWSER
explizit auf den Pfad einer ausführbaren Windows-Datei festlegen. Sie können beispielsweise Folgendes in den RC Ihrer Shell einfügen:
$ export BROWSER='/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe'
In einigen Fällen zeigt googler
möglicherweise weniger Ergebnisse als erwartet an. Wenn Sie beispielsweise ein einzelnes Ergebnis abrufen ( -n 1
), werden möglicherweise keine Ergebnisse angezeigt. Der Grund dafür ist, dass Google abhängig von Ihren geografischen Daten einige Ergebnisse von Google-Diensten (z. B. Youtube), Kartenstandorte usw. anzeigt, die googler
zu unterdrücken versucht. In manchen Fällen zeigt Google (der Webdienst) bei einer Suche nicht genau 10 Ergebnisse (Standard) an. Wir haben uns entschieden, diese Ergebnisse so weit wie möglich wegzulassen. Dies kann zwar behoben werden, würde jedoch mehr Verarbeitung (und mehr Zeit) erfordern. Sie können einfach vorwärts navigieren, um die nächsten Ergebnisse abzurufen.
Standardmäßig wendet googler
einige TCP-Optimierungen an und erzwingt TLS 1.2 (auf Python 3.4 und höher). Wenn Sie Verbindungsprobleme haben, versuchen Sie, beide mit dem Schalter --notweak
zu deaktivieren.
Der Google News-Dienst ist nicht verfügbar, wenn die Sprache dk
(Dänemark), fi
(Finnland) oder is
(Island) ist. Verwenden Sie -l en
. Weitere Informationen finden Sie unter Nr. 187.
Einige Benutzer haben Probleme mit einem farbigen Omniprompt (siehe Problem Nr. 203) mit iTerm2 unter macOS gemeldet. So erzwingen Sie einen einfachen Omniprompt:
export DISABLE_PROMPT_COLOR=1
Ursprünglich habe ich eine Pull-Anfrage gestellt, aber ich konnte sehen, dass die letzte Änderung sieben Jahre zuvor vorgenommen wurde. Darüber hinaus gab es im vergangenen Jahr keine GitHub-Aktivitäten des ursprünglichen Autors Henri Häkkinen. Ich habe dieses unabhängige Repo für das Projekt mit dem Namen googler
erstellt. Ich habe die ursprünglichen Copyright-Informationen beibehalten (obwohl googler
jetzt organisch anders ist).
Google stellt eine Such-API bereit, die die Ergebnisse im JSON-Format zurückgibt. Nach meinem Verständnis aus den offiziellen Dokumenten sendet die API die Abfragen jedoch an eine vorhandene Instanz einer benutzerdefinierten Suchmaschine und ist auf 100 kostenlose Suchanfragen pro Tag begrenzt. Darüber hinaus habe ich Bedenken, zu zahlen, wenn sie jemals ihren Plan ändern oder die API auf andere Weise einschränken. Deshalb habe ich darauf verzichtet, mich an Google-Pläne und -Richtlinien zu koppeln oder meinen nachverfolgbaren persönlichen API-Schlüssel und meine Kennung für die benutzerdefinierte Suche der Öffentlichkeit zugänglich zu machen. Ich habe die Browser-Methode beibehalten, indem ich HTML abgerufen habe, eine offene und kostenlose Spezifikation.
Ein Rofi-Skript für googler
finden Sie hier. Von einem anonymen Benutzer geschrieben, ungetestet und wir pflegen es nicht.
Das Albert Launcher-Python-Plugin-Repo (awesome-albert-plugins) enthält vorschlagsfähige Such-Plugins für eine Vielzahl von Websites, die Googler verwenden. Demos und Gebrauchsanweisungen finden Sie hier.
Pull-Anfragen sind willkommen. Eine Liste der TODOs finden Sie unter #209.
Besonderer Dank geht an jeremija und Narrat für ihre Beiträge.
Logo-Copyright © 2017 Zhiming Wang.
Sie dürfen es zusammen mit dem Code frei weiterverbreiten oder bei der Beschreibung oder Verlinkung dieses Projekts verwenden. Sie sollten KEINE modifizierten Versionen davon erstellen, es zum Logo oder Symbol Ihres Projekts machen (mit Ausnahme persönlicher Forks und/oder Forks mit dem Ziel des Upstreamings) oder es anderweitig ohne schriftliche Genehmigung verwenden.