googler
est un outil puissant pour Google (Web, actualités, vidéos et recherche sur site) à partir de la ligne de commande. Il affiche le titre, l'URL et le résumé de chaque résultat, qui peuvent être directement ouverts dans un navigateur depuis le terminal. Les résultats sont récupérés dans les pages (avec navigation dans les pages). Prend en charge les recherches séquentielles dans une seule instance googler
.
googler
a été initialement écrit pour répondre aux serveurs sans tête sans X. Vous pouvez l'intégrer à un navigateur texte. Cependant, il est devenu un utilitaire très pratique et flexible qui offre bien plus. Par exemple, récupérez n'importe quel nombre de résultats ou commencez n'importe où, limitez la recherche à n'importe quelle durée, définissez des alias pour rechercher sur Google n'importe quel nombre de sites Web, changez facilement de domaine... tout cela dans une interface très propre, sans publicité ni URL parasites. Les scripts de complétion du shell garantissent que vous n'avez pas besoin de mémoriser d'options.
googler
n'est en aucun cas affilié à Google.
Voici quelques exemples d'utilisation :
Google bonjour le monde :
$ googler hello world
Récupérez 15 résultats mis à jour au cours des 14 derniers mois , à partir du 3ème résultat pour les mots-clés livre de la jungle dans le site imdb.com :
$ googler -n 15 -s 3 -t m14 -w imdb.com jungle book
Ou au lieu des 14 derniers mois, recherchez les résultats spécifiquement entre le 4 avril 2016 et le 31 décembre 2016 :
$ googler -n 15 -s 3 --from 04/04/2016 --to 12/31/2016 -w imdb.com jungle book
Lisez les actualités récentes sur les gadgets :
$ googler -N gadgets
Récupérez les résultats sur le cricket IPL à partir du serveur Google India en anglais :
$ googler -c in -l en IPL cricket
Rechercher des vidéos sur PyCon 2020 :
$ googler -V PyCon 2020
Rechercher le texte cité :
$ googler it's a "beautiful world" in spring
Rechercher un type de fichier spécifique :
$ googler instrumental filetype:mp3
Désactivez la correction orthographique automatique , par exemple, récupérez les résultats pour googler
au lieu de google
:
$ googler -x googler
Je me sens chanceux de chercher :
$ googler -j leather jackets
Recherche spécifique au site :
$ googler -w amazon.com -w ebay.com digital camera
La recherche spécifique au site se poursuit en omniprompt.
Les arguments positionnels sont joints (avec des espaces de délimitation) pour former la requête finale, afin que vous puissiez être créatif avec vos alias. Par exemple, excluez toujours seoarticlefactory.com des résultats de recherche :
$ alias googler='googler " -site:seoarticlefactory.com"'
$ googler '<hugely popular keyword filled with SEO garbage>'
Alias pour trouver des définitions de mots :
alias define='googler -n 2 define'
Recherchez des mots-clés n
, p
, o
, O
, q
, g keywords
ou un index de résultat dans l' omniprompt : comme l'omniprompt reconnaît ces clés ou chaînes d'index comme des commandes, vous devez les préfixer avec g
, par exemple,
g n
g g keywords
g 1
Redirection d'entrée et de sortie :
$ googler -C hello world < input > output
Notez que -C
est requis pour éviter d'imprimer des caractères de contrôle (pour une sortie couleur).
Sortie de tuyau :
$ googler -C hello world | tee output
Utilisez une palette de couleurs personnalisée , par exemple une palette de couleurs chaudes conçue pour Solarized Dark (capture d'écran) :
$ googler --colors bjdxxy google
$ GOOGLER_COLORS=bjdxxy googler google
Tunnelez le trafic via un proxy HTTPS , par exemple, une instance Privoxy locale écoutant sur le port 8118 :
$ googler --proxy localhost:8118 google
Par défaut, la variable d'environnement https_proxy
est utilisée, si elle est définie.
Citez plusieurs mots-clés de recherche à compléter automatiquement (à l'aide du script de complétion) :
$ googler 'hello w<TAB>
Plus d'aide :
$ googler -h
$ man googler
Des trucs plus amusants que vous pouvez essayer avec googler
:
filetype:mime
, site:somesite.com
) googler
nécessite Python 3.6 ou version ultérieure. Seule la dernière version du correctif de chaque version mineure est prise en charge.
Pour copier l'URL dans le presse-papiers à l'omniprompt, googler
recherche xsel
ou xclip
ou termux-clipboard-set
(dans le même ordre) sous Linux, pbcopy
(installé par défaut) sur macOS et clip
(installé par défaut) sous Windows. Il prend également en charge les tampons copier-coller GNU Screen et tmux en l'absence de X11.
Installez googler
depuis votre gestionnaire de packages. Si la version disponible est datée, essayez une autre méthode d'installation.
● Snap Store ( snap install googler
)
googler
v2.7 et versions ultérieures sont livrés avec un mécanisme de mise à niveau automatique sur place que vous souhaiterez peut-être désactiver. Pour ce faire, exécutez
$ make disable-self-upgrade
avant l'installation.
Les packages pour Arch Linux, CentOS, Debian, Fedora, openSUSE et Ubuntu sont disponibles avec la dernière version stable.
Si git est installé, clonez ce référentiel. Sinon, téléchargez la dernière version stable ou version de développement.
Pour installer à l'emplacement par défaut ( /usr/local
) :
$ sudo make install
Pour supprimer googler
et les documents associés, exécutez
$ sudo make uninstall
PREFIX
est pris en charge, au cas où vous souhaiteriez installer à un emplacement différent.
googler
est un exécutable autonome (et peut s'exécuter même sur des environnements comme Termux). Depuis le répertoire contenant :
$ ./googler
googler
est un script autonome unique, vous pouvez donc télécharger un seul fichier si vous le souhaitez.
Pour installer la dernière version stable, exécutez
$ sudo curl -o /usr/local/bin/googler https://raw.githubusercontent.com/jarun/googler/v4.3.2/googler && sudo chmod +x /usr/local/bin/googler
Vous pouvez ensuite laisser Googler se mettre à niveau en exécutant
$ sudo googler -u
De même, si vous souhaitez installer depuis git master ( risky ), exécutez
$ sudo curl -o /usr/local/bin/googler https://raw.githubusercontent.com/jarun/googler/master/googler && sudo chmod +x /usr/local/bin/googler
et mettez à niveau en exécutant
$ sudo googler -u --include-git
Les scripts de recherche de mots clés et d'options pour Bash, Fish et Zsh peuvent être trouvés dans les sous-répertoires respectifs de auto-completion/
. Veuillez vous référer au manuel de votre shell pour les instructions d'installation.
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
n'en a pas ! Il s'agit de conserver la vitesse de l'utilitaire et d'éviter les différences spécifiques au système d'exploitation. Les utilisateurs peuvent profiter des avantages des fichiers de configuration utilisant des alias (à l'exception du jeu de couleurs, qui peut être personnalisé en outre via une variable d'environnement ; voir Couleurs). Il n'est pas nécessaire de mémoriser les options.
Par exemple, l'alias suivant pour bash/zsh/ksh/etc.
alias g='googler -n 7 -c ru -l ru'
récupère 7 résultats sur le serveur Google Russie, avec une préférence pour les résultats en russe.
L'alias sert à la fois à l'utilisation des fichiers de configuration :
g
, il s'étend aux paramètres préférés.argparse
, googler
est écrit de manière à ce que les paramètres de l'alias soient complètement remplacés par toutes les options transmises depuis cli. Ainsi, lorsque le même utilisateur exécute g -l de -c de -n 12 hello world
, 12 résultats sont renvoyés par le serveur de Google Allemagne, avec une préférence pour les résultats en allemand. googler @t
est un complément pratique à Google Site Search avec des mots-clés uniques. Bien que googler
dispose d'une option intégrée pour rechercher un site, nous l'avons encore simplifié avec des alias. Le fichier googler_at contient une liste d'alias de recherche de sites Web. Pour le sourcer, exécutez :
$ source googler_at
ou,
$ . googler_at
Avec googler @t
, voici comment rechercher hexspeak
sur Wikipédia :
$ @w hexspeak
Oh oui! Vous pouvez également combiner d’autres options googler
! Pour vous faciliter la vie, vous pouvez également configurer votre shell pour qu'il source le fichier lors de son démarrage.
Tous les alias commencent par le symbole @
(d'où le nom googler @t
) et il y a un minimum de chances qu'ils entrent en conflit avec des commandes shell. N'hésitez pas à ajouter vos propres alias au fichier et à contribuer aux plus intéressants.
googler
fonctionne immédiatement avec plusieurs navigateurs textuels si la variable d'environnement BROWSER
est définie. Par exemple,
$ export BROWSER=w3m
ou pour un usage unique,
$ BROWSER=w3m googler query
En raison du fait que certains navigateurs graphiques envoient des messages à la console, googler
supprime la sortie du navigateur par défaut, sauf si BROWSER
est défini sur l'un des navigateurs textuels connus : actuellement elinks
, links
, lynx
, w3m
ou www-browser
. Si vous utilisez un autre navigateur texte, vous devrez activer explicitement la sortie du navigateur avec l'option --show-browser-logs
. Si vous pensez que votre navigateur est suffisamment populaire, veuillez soumettre un problème ou une pull request et nous envisagerons de le mettre sur liste blanche. Consultez la page de manuel pour plus de détails sur --show-browser-logs
.
Si vous devez utiliser un navigateur GUI avec BROWSER
défini, utilisez la touche omniprompt O
. googler
essaiera d'ignorer les navigateurs textuels et d'invoquer un navigateur GUI. Les journaux du navigateur sont toujours supprimés avec O
.
googler
vous permet de personnaliser la palette de couleurs via une chaîne de six lettres, rappelant BSD LSCOLORS
. Les six lettres représentent les couleurs de
respectivement. La chaîne de six lettres est transmise soit comme argument de l'option --colors
, soit comme valeur de la variable d'environnement GOOGLER_COLORS
.
Nous proposons les couleurs/styles suivants :
Lettre | Couleur/Style |
---|---|
un | noir |
b | rouge |
c | vert |
d | jaune |
e | bleu |
f | magenta |
g | cyan |
h | blanc |
je | noir brillant |
j | rouge vif |
k | vert vif |
je | jaune vif |
m | bleu vif |
n | magenta vif |
o | cyan brillant |
p | blanc brillant |
AH | version en gras de la couleur des lettres minuscules |
PI | version en gras de la couleur vive de la lettre minuscule |
x | normale |
X | audacieux |
oui | vidéo inversée |
Oui | vidéo inversée en gras |
La chaîne de couleurs par défaut est GKlgxy
, qui signifie
Noter que
x1b[90m
– x1b[97m
) peuvent ne pas être disponibles dans tous les émulateurs de terminaux compatibles couleur ;Veuillez consulter le manuel de votre émulateur de terminal ainsi que l'article Wikipédia sur les séquences d'échappement ANSI.
Pour afficher les noms de domaine dans les résultats de recherche au lieu de l'URL développée (et utiliser moins d'espace), définissez la variable d'environnement DISABLE_URL_EXPANSION
.
Sur WSL, les navigateurs GUI côté Windows ne peuvent pas être détectés par défaut. Vous devez définir explicitement la variable d'environnement BROWSER
sur le chemin d'un exécutable Windows. Par exemple, vous pouvez mettre ce qui suit dans le rc de votre shell :
$ export BROWSER='/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe'
Dans certains cas, googler
peut afficher moins de résultats que prévu, par exemple, si vous récupérez un seul résultat ( -n 1
), il peut n'afficher aucun résultat. La raison en est que Google affiche certains résultats de services Google (par exemple Youtube), des emplacements sur des cartes, etc. en fonction de vos données géographiques, que googler
essaie d'omettre. Dans certains cas, Google (le service Web) n'affiche pas exactement 10 résultats (par défaut) lors d'une recherche. Nous avons choisi d'omettre ces résultats dans la mesure du possible. Bien que cela puisse être résolu, cela nécessiterait plus de traitement (et plus de temps). Vous pouvez simplement naviguer vers l'avant pour récupérer l'ensemble de résultats suivant.
Par défaut, googler
applique certaines optimisations TCP et force TLS 1.2 (sur Python 3.4 et supérieur). Si vous rencontrez des problèmes de connexion, essayez de désactiver les deux à l'aide du commutateur --notweak
.
Le service Google Actualités n'est pas disponible si la langue est dk
(Danemark), fi
(Finlande) ou is
(Islande). Utilisez -l en
. Veuillez vous référer au numéro 187 pour plus d'informations.
Certains utilisateurs ont signalé des problèmes avec une invite omniprompte colorée (voir le numéro 203) avec iTerm2 sur macOS. Pour forcer une simple omniprompt :
export DISABLE_PROMPT_COLOR=1
Au départ, j'ai lancé une pull request mais j'ai pu constater que le dernier changement avait été effectué 7 ans plus tôt. De plus, il n’y a aucune activité GitHub de la part de l’auteur original Henri Hakkinen au cours de l’année dernière. J'ai créé ce dépôt indépendant pour le projet portant le nom googler
. J'ai conservé les informations de droit d'auteur d'origine (bien que googler
soit désormais organiquement différent).
Google fournit une API de recherche qui renvoie les résultats au format JSON. Cependant, d'après ce que j'ai compris des documents officiels, l'API émet les requêtes sur une instance existante d'un moteur de recherche personnalisé et est limitée à 100 requêtes de recherche par jour gratuitement. De plus, j'ai des réserves à payer s'ils changent de forfait ou restreignent l'API d'une autre manière. Je me suis donc abstenu de m'associer aux plans et politiques de Google ou d'exposer ma clé API de recherche personnalisée personnelle traçable et mon identifiant au public. J'ai conservé la méthode du navigateur pour le faire en récupérant le HTML, qui est une spécification ouverte et gratuite.
Vous pouvez trouver un script rofi pour googler
ici. Écrit par un utilisateur anonyme, non testé et nous ne le maintenons pas.
Le référentiel de plugins Python Albert Launcher (awesome-albert-plugins) comprend des plugins de recherche compatibles avec les suggestions pour une variété de sites Web utilisant Googler. Référez-vous à ce dernier pour les démos et les instructions d'utilisation.
Les demandes de tirage sont les bienvenues. Veuillez visiter le numéro 209 pour une liste de TODO.
Un merci spécial à Jeremija et Narrat pour leurs contributions.
Copyright du logo © 2017 Zhiming Wang.
Vous pouvez librement le redistribuer avec le code, ou l'utiliser pour décrire ou créer un lien vers ce projet. Vous ne devez PAS en créer de versions modifiées, en faire le logo ou l'icône de votre projet (sauf les forks personnels et/ou les forks dans le but de l'amont), ou l'utiliser de toute autre manière sans autorisation écrite.