googler
es una potente herramienta para Google (web, noticias, vídeos y búsqueda de sitios) desde la línea de comandos. Muestra el título, URL y resumen de cada resultado, que se puede abrir directamente en un navegador desde la terminal. Los resultados se obtienen en páginas (con navegación de página). Admite búsquedas secuenciales en una única instancia googler
.
googler
se escribió inicialmente para atender a servidores sin cabeza sin X. Puede integrarlo con un navegador basado en texto. Sin embargo, se ha convertido en una utilidad muy práctica y flexible que ofrece mucho más. Por ejemplo, obtenga cualquier cantidad de resultados o comience en cualquier lugar, limite la búsqueda por cualquier duración, defina alias para buscar en Google cualquier cantidad de sitios web, cambie de dominio fácilmente... todo esto en una interfaz muy limpia sin anuncios ni URL perdidas. Los scripts de finalización del shell garantizan que no sea necesario recordar ninguna opción.
googler
no está afiliado a Google de ninguna manera.
A continuación se muestran algunos ejemplos de uso:
Google hola mundo :
$ googler hello world
Obtenga 15 resultados actualizados en los últimos 14 meses , a partir del tercer resultado para las palabras clave libro de la selva en el sitio imdb.com:
$ googler -n 15 -s 3 -t m14 -w imdb.com jungle book
O en lugar de los últimos 14 meses, busque resultados específicamente entre el 4 de abril de 2016 y el 31 de diciembre de 2016:
$ googler -n 15 -s 3 --from 04/04/2016 --to 12/31/2016 -w imdb.com jungle book
Lea noticias recientes sobre gadgets:
$ googler -N gadgets
Obtenga resultados en cricket IPL desde el servidor de Google India en inglés :
$ googler -c in -l en IPL cricket
Busque vídeos en PyCon 2020:
$ googler -V PyCon 2020
Buscar texto citado :
$ googler it's a "beautiful world" in spring
Busque un tipo de archivo específico :
$ googler instrumental filetype:mp3
Desactive la corrección ortográfica automática , por ejemplo, buscar resultados para googler
en lugar de google
:
$ googler -x googler
Me siento afortunado de buscar:
$ googler -j leather jackets
Búsqueda específica del sitio web :
$ googler -w amazon.com -w ebay.com digital camera
La búsqueda específica del sitio continúa en omniprompt.
Los argumentos posicionales se unen (con espacios en blanco delimitadores) para formar la consulta final, para que pueda ser creativo con sus alias. Por ejemplo, excluya siempre seoarticlefactory.com de los resultados de búsqueda:
$ alias googler='googler " -site:seoarticlefactory.com"'
$ googler '<hugely popular keyword filled with SEO garbage>'
Alias para encontrar definiciones de palabras :
alias define='googler -n 2 define'
Busque n
, p
, o
, O
, q
, g keywords
o un índice de resultados en el omniprompt : como el omniprompt reconoce estas claves o cadenas de índice como comandos, debe anteponerles g
, por ejemplo,
g n
g g keywords
g 1
Redirección de entrada y salida:
$ googler -C hello world < input > output
Tenga en cuenta que se requiere -C
para evitar imprimir caracteres de control (para salida en color).
Salida de tubería :
$ googler -C hello world | tee output
Utilice una combinación de colores personalizada , por ejemplo, una combinación de colores cálidos diseñada para Solarized Dark (captura de pantalla):
$ googler --colors bjdxxy google
$ GOOGLER_COLORS=bjdxxy googler google
Túnel de tráfico a través de un proxy HTTPS , por ejemplo, una instancia Privoxy local escuchando en el puerto 8118:
$ googler --proxy localhost:8118 google
De forma predeterminada, se utiliza la variable de entorno https_proxy
, si está definida.
Cite varias palabras clave de búsqueda para completar automáticamente (usando el script de finalización):
$ googler 'hello w<TAB>
Más ayuda :
$ googler -h
$ man googler
Más cosas divertidas que puedes probar con googler
:
filetype:mime
, site:somesite.com
) googler
requiere Python 3.6 o posterior. Solo se admite la última versión del parche de cada versión secundaria.
Para copiar la URL al portapapeles en el omniprompt, googler
busca xsel
o xclip
o termux-clipboard-set
(en el mismo orden) en Linux, pbcopy
(instalado por defecto) en macOS y clip
(instalado por defecto) en Windows. También es compatible con GNU Screen y buffers de copiar y pegar tmux en ausencia de X11.
Instale googler
desde su administrador de paquetes. Si la versión disponible tiene fecha, pruebe con un método de instalación alternativo.
● Tienda Snap ( snap install googler
)
googler
v2.7 y versiones posteriores vienen con un mecanismo de actualización automática incorporado que quizás quieras desactivar. Para hacer esto, ejecute
$ make disable-self-upgrade
antes de la instalación.
Los paquetes para Arch Linux, CentOS, Debian, Fedora, openSUSE y Ubuntu están disponibles con la última versión estable.
Si tienes git instalado, clona este repositorio. De lo contrario, descargue la última versión estable o de desarrollo.
Para instalar en la ubicación predeterminada ( /usr/local
):
$ sudo make install
Para eliminar googler
y los documentos asociados, ejecute
$ sudo make uninstall
Se admite PREFIX
, en caso de que desee realizar la instalación en una ubicación diferente.
googler
es un ejecutable independiente (y puede ejecutarse incluso en entornos como Termux). Desde el directorio que lo contiene:
$ ./googler
googler
es un script independiente, por lo que puedes descargar solo un archivo si lo deseas.
Para instalar la última versión estable, ejecute
$ sudo curl -o /usr/local/bin/googler https://raw.githubusercontent.com/jarun/googler/v4.3.2/googler && sudo chmod +x /usr/local/bin/googler
Luego podrías dejar que Googler se actualice ejecutando
$ sudo googler -u
De manera similar, si desea instalar desde git master ( arriesgado ), ejecute
$ sudo curl -o /usr/local/bin/googler https://raw.githubusercontent.com/jarun/googler/master/googler && sudo chmod +x /usr/local/bin/googler
y actualizar ejecutando
$ sudo googler -u --include-git
Los scripts de finalización de opciones y palabras clave de búsqueda para Bash, Fish y Zsh se pueden encontrar en los subdirectorios respectivos de auto-completion/
. Consulte el manual de su carcasa para obtener instrucciones de instalación.
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
no tiene ninguno! Esto es para conservar la velocidad de la utilidad y evitar diferencias específicas del sistema operativo. Los usuarios pueden disfrutar de las ventajas de los archivos de configuración que utilizan alias (con la excepción de la combinación de colores, que se puede personalizar adicionalmente mediante una variable de entorno; consulte Colores). No es necesario memorizar opciones.
Por ejemplo, el siguiente alias para bash/zsh/ksh/etc.
alias g='googler -n 7 -c ru -l ru'
Obtiene 7 resultados del servidor de Google Rusia, con preferencia hacia los resultados en ruso.
El alias sirve para ambos propósitos de usar archivos de configuración:
g
, se expande a la configuración preferida.argparse
, googler
está escrito para que la configuración en alias sea completamente anulada por cualquier opción pasada desde cli. Entonces, cuando el mismo usuario ejecuta g -l de -c de -n 12 hello world
, se devuelven 12 resultados del servidor de Google Alemania, con preferencia hacia los resultados en alemán. googler @t
es un complemento conveniente para Google Site Search con palabras clave únicas. Si bien googler
tiene una opción integrada para buscar en un sitio, la simplificamos aún más con alias. El archivo googler_at contiene una lista de alias de búsqueda de sitios web. Para obtenerlo, ejecute:
$ source googler_at
o,
$ . googler_at
Con googler @t
, así es como se busca en Wikipedia lenguaje hexspeak
:
$ @w hexspeak
¡Oh sí! ¡También puedes combinar otras opciones googler
! Para hacer la vida más fácil, también puede configurar su shell para obtener el archivo cuando se inicie.
Todos los alias comienzan con el símbolo @
(de ahí el nombre googler @t
) y existe una mínima posibilidad de que entren en conflicto con cualquier comando del shell. Siéntase libre de agregar sus propios alias al archivo y contribuir con los que sean interesantes.
googler
funciona de forma inmediata con varios navegadores basados en texto si la variable de entorno BROWSER
está configurada. Por ejemplo,
$ export BROWSER=w3m
o para un solo uso,
$ BROWSER=w3m googler query
Debido a que ciertos navegadores gráficos arrojan mensajes a la consola, googler
suprime la salida del navegador de forma predeterminada a menos que BROWSER
esté configurado en uno de los navegadores basados en texto conocidos: actualmente elinks
, links
, lynx
, w3m
o www-browser
. Si utiliza un navegador de texto diferente, deberá habilitar explícitamente la salida del navegador con la opción --show-browser-logs
. Si cree que su navegador es lo suficientemente popular, envíe un problema o una solicitud de extracción y consideraremos incluirlo en la lista blanca. Consulte la página de manual para obtener más detalles sobre --show-browser-logs
.
Si necesita utilizar un navegador GUI con BROWSER
configurado, utilice la tecla omniprompt O
googler
intentará ignorar los navegadores basados en texto e invocará un navegador GUI. Los registros del navegador siempre se suprimen con O
.
googler
te permite personalizar la combinación de colores mediante una cadena de seis letras, que recuerda a BSD LSCOLORS
. Las seis letras representan los colores de
respectivamente. La cadena de seis letras se pasa como argumento de la opción --colors
o como valor de la variable de entorno GOOGLER_COLORS
.
Ofrecemos los siguientes colores/estilos:
Carta | Color/estilo |
---|---|
a | negro |
b | rojo |
do | verde |
d | amarillo |
mi | azul |
F | magenta |
gramo | cian |
h | blanco |
i | negro brillante |
j | lacre |
k | verde brillante |
yo | amarillo brillante |
metro | azul brillante |
norte | magenta brillante |
oh | cian brillante |
pag | blanco brillante |
Ah | versión en negrita del color de la letra minúscula |
IP | versión en negrita del color brillante de letra minúscula |
incógnita | normal |
incógnita | atrevido |
y | vídeo inverso |
Y | vídeo inverso en negrita |
La cadena de colores predeterminada es GKlgxy
, que significa
Tenga en cuenta que
x1b[90m
– x1b[97m
) no estén disponibles en todos los emuladores de terminales compatibles con colores;Consulte el manual de su emulador de terminal, así como el artículo de Wikipedia sobre secuencias de escape ANSI.
Para mostrar los nombres de dominio en los resultados de búsqueda en lugar de la URL expandida (y usar menos espacio), configure la variable de entorno DISABLE_URL_EXPANSION
.
En WSL, los navegadores GUI en el lado de Windows no se pueden detectar de forma predeterminada. Debe configurar explícitamente la variable de entorno BROWSER
en la ruta de un ejecutable de Windows. Por ejemplo, puedes poner lo siguiente en el rc de tu shell:
$ export BROWSER='/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe'
En algunos casos, googler
puede mostrar menos resultados de los esperados; por ejemplo, si obtiene un solo resultado ( -n 1
), es posible que no muestre ningún resultado. El motivo es que Google muestra algunos resultados de servicios de Google (por ejemplo, Youtube), ubicaciones de mapas, etc. dependiendo de sus datos geográficos, que googler
intenta omitir. En algunos casos, Google (el servicio web) no muestra exactamente 10 resultados (predeterminado) en una búsqueda. Elegimos omitir estos resultados en la medida de lo posible. Si bien esto se puede solucionar, necesitaría más procesamiento (y más tiempo). Puede navegar hacia adelante para obtener el siguiente conjunto de resultados.
De forma predeterminada, googler
aplica algunas optimizaciones de TCP y fuerza TLS 1.2 (en Python 3.4 y superior). Si tiene problemas de conexión, intente deshabilitar ambos usando el interruptor --notweak
.
El servicio Google News no está disponible si el idioma es dk
(Dinamarca), fi
(Finlandia) o is
(Islandia). Utilice -l en
. Consulte el n.° 187 para obtener más información.
Algunos usuarios han informado problemas con un omniprompt de color (consulte el número 203) con iTerm2 en macOS. Para forzar un omniprompt simple:
export DISABLE_PROMPT_COLOR=1
Inicialmente presenté una solicitud de extracción, pero pude ver que el último cambio se realizó 7 años antes. Además, no hubo actividad en GitHub del autor original Henri Hakkinen durante el año pasado. He creado este repositorio independiente para el proyecto con el nombre googler
. Conservé la información de derechos de autor original (aunque googler
ahora es orgánicamente diferente).
Google proporciona una API de búsqueda que devuelve los resultados en formato JSON. Sin embargo, según tengo entendido de los documentos oficiales, la API emite las consultas contra una instancia existente de un motor de búsqueda personalizado y está limitada a 100 consultas de búsqueda por día de forma gratuita. Además, tengo reservas sobre el pago si alguna vez cambian su plan o restringen la API de otras maneras. Por lo tanto, me abstuve de asociarme con los planes y políticas de Google o de exponer mi clave e identificador de API de búsqueda personalizada personal rastreable para el público. Mantuve la forma del navegador de hacerlo obteniendo html, que es una especificación abierta y gratuita.
Puede encontrar un script rofi para googler
aquí. Escrito por un usuario anónimo, no probado y no lo mantenemos.
El repositorio de complementos de Python de Albert Launcher (awesome-albert-plugins) incluye complementos de búsqueda habilitados para sugerencias para una variedad de sitios web que utilizan Googler. Consulte este último para ver demostraciones e instrucciones de uso.
Las solicitudes de extracción son bienvenidas. Visite el n.° 209 para obtener una lista de TODO.
Un agradecimiento especial a jeremija y Narrat por sus contribuciones.
Copyright del logotipo © 2017 Zhiming Wang.
Puede redistribuirlo libremente junto con el código o utilizarlo al describir o vincular este proyecto. NO debe crear versiones modificadas del mismo, convertirlo en el logotipo o icono de su proyecto (excepto bifurcaciones personales y/o bifurcaciones con el objetivo de upstreaming) ni utilizarlo sin permiso por escrito.