googler
명령줄에서 Google(웹, 뉴스, 동영상 및 사이트 검색)을 수행하는 강력한 도구입니다. 여기에는 각 결과의 제목, URL 및 요약이 표시되며 터미널의 브라우저에서 직접 열 수 있습니다. 결과는 페이지 단위로 가져옵니다(페이지 탐색 포함). 단일 googler
인스턴스에서 순차 검색을 지원합니다.
googler
처음에 X가 없는 헤드리스 서버에 맞춰 작성되었습니다. 이를 텍스트 기반 브라우저와 통합할 수 있습니다. 그러나 훨씬 더 많은 기능을 제공하는 매우 편리하고 유연한 유틸리티로 성장했습니다. 예를 들어, 원하는 수의 결과를 가져오거나 어디서든 시작하고, 검색 기간을 제한하고, Google에서 원하는 수의 웹사이트를 검색할 수 있도록 별칭을 정의하고, 쉽게 도메인을 전환하세요. 이 모든 것이 광고나 길 잃은 URL 없이 매우 깔끔한 인터페이스에서 이루어집니다. 쉘 완성 스크립트를 사용하면 어떤 옵션도 기억할 필요가 없습니다.
googler
어떤 식으로든 Google과 관련이 없습니다.
다음은 몇 가지 사용 예입니다.
구글 헬로우 월드 :
$ googler hello world
imdb.com 사이트 의 정글북 키워드에 대한 세 번째 결과 부터 시작하여 지난 14개월 이내에 업데이트된 15개 결과를 가져옵니다.
$ 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
자동 맞춤법 교정을 비활성화합니다(예: google
대신 googler
에 대한 결과 가져오기).
$ 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'
n
, p
, o
, O
, q
, g keywords
또는 전능 프롬프트 에서 결과 인덱스를 찾습니다. 전능 프롬프트는 이러한 키나 인덱스 문자열을 명령으로 인식하므로 앞에 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 이상이 필요합니다. 각 마이너 버전의 최신 패치 릴리스만 지원됩니다.
즉시 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
그런 다음 다음을 실행하여 Google 직원이 자체적으로 업그레이드하도록 할 수 있습니다.
$ sudo googler -u
마찬가지로 git master( risky )에서 설치하려면 다음을 실행하세요.
$ 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/
의 각 하위 디렉터리에서 찾을 수 있습니다. 설치 지침은 쉘 설명서를 참조하세요.
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
에는 아무것도 없습니다! 이는 유틸리티의 속도를 유지하고 OS별 차이를 방지하기 위한 것입니다. 사용자는 별칭을 사용하여 구성 파일의 이점을 누릴 수 있습니다(환경 변수를 통해 추가로 사용자 정의할 수 있는 색 구성표는 제외, 색상 참조). 옵션을 외울 필요가 없습니다.
예를 들어 bash/zsh/ksh/etc에 대한 다음 별칭입니다.
alias g='googler -n 7 -c ru -l ru'
Google 러시아 서버에서 7개의 결과를 가져오며 러시아어로 된 결과를 선호합니다.
별칭은 구성 파일을 사용하는 두 가지 목적을 모두 제공합니다.
g
호출하면 기본 설정으로 확장됩니다.argparse
작동 방식 덕분에 cli에서 전달된 모든 옵션이 별칭의 설정을 완전히 재정의하도록 googler
작성되었습니다. 따라서 동일한 사용자가 g -l de -c de -n 12 hello world
실행하면 Google 독일 서버에서 12개의 결과가 반환되며 독일어 결과가 우선적으로 반환됩니다. googler @t
고유한 키워드를 사용하는 Google 사이트 검색의 편리한 추가 기능입니다. googler
에는 사이트 검색을 위한 통합 옵션이 있지만 별칭을 사용하여 이를 더욱 단순화했습니다. googler_at 파일에는 웹사이트 검색 별칭 목록이 포함되어 있습니다. 소스를 얻으려면 다음을 실행하세요.
$ source googler_at
또는,
$ . googler_at
googler @t
사용하여 Wikipedia에서 hexspeak
검색하는 방법은 다음과 같습니다.
$ @w hexspeak
아 그래요! 다른 googler
옵션도 결합할 수 있습니다! 작업을 더 쉽게 하기 위해 셸이 시작될 때 파일을 소스로 제공하도록 셸을 구성할 수도 있습니다.
모든 별칭은 @
기호(따라서 이름은 googler @t
)로 시작하며 쉘 명령과 충돌할 가능성이 최소화됩니다. 파일에 자신만의 별칭을 자유롭게 추가하고 흥미로운 별칭을 다시 제공해 보세요.
BROWSER
환경 변수가 설정된 경우 googler
여러 텍스트 기반 브라우저를 사용하여 즉시 작동합니다. 예를 들어,
$ export BROWSER=w3m
아니면 일회용으로 사용하시려면
$ BROWSER=w3m googler query
특정 그래픽 브라우저가 콘솔에 메시지를 표시하기 때문에 BROWSER
알려진 텍스트 기반 브라우저(현재 elinks
, links
, lynx
, w3m
또는 www-browser
중 하나로 설정되지 않는 한 googler
기본적으로 브라우저 출력을 억제합니다. 다른 텍스트 기반 브라우저를 사용하는 경우 --show-browser-logs
옵션을 사용하여 브라우저 출력을 명시적으로 활성화해야 합니다. 귀하의 브라우저가 충분히 대중적이라고 생각하시면 문제 또는 끌어오기 요청을 제출해 주시면 해당 브라우저를 화이트리스트에 추가하는 것을 고려해 보겠습니다. --show-browser-logs
에 대한 자세한 내용은 매뉴얼 페이지를 참조하십시오.
BROWSER
설정된 GUI 브라우저를 사용해야 하는 경우 Omniprompt 키 O
사용하세요. googler
텍스트 기반 브라우저를 무시하고 GUI 브라우저를 호출하려고 합니다. O
사용하면 브라우저 로그가 항상 표시되지 않습니다.
googler
사용하면 BSD LSCOLORS
연상시키는 6글자 문자열을 통해 색 구성표를 맞춤설정할 수 있습니다. 6개의 문자는 색상을 나타냅니다.
각기. 6자리 문자열은 --colors
옵션에 대한 인수로 전달되거나 환경 변수 GOOGLER_COLORS
값으로 전달됩니다.
우리는 다음과 같은 색상/스타일을 제공합니다:
편지 | 색상/스타일 |
---|---|
에이 | 검은색 |
비 | 빨간색 |
기음 | 녹색 |
디 | 노란색 |
이자형 | 파란색 |
에프 | 마젠타 |
g | 청록색 |
시간 | 하얀색 |
나 | 밝은 검정색 |
j | 밝은 빨간색 |
케이 | 밝은 녹색 |
엘 | 밝은 노란색 |
중 | 밝은 파란색 |
N | 밝은 자홍색 |
영형 | 밝은 청록색 |
피 | 밝은 흰색 |
아 | 소문자 색상의 굵은 버전 |
IP | 소문자 밝은 색상의 굵은 버전 |
엑스 | 정상 |
엑스 | 용감한 |
와이 | 반전 영상 |
와이 | 대담한 반전 영상 |
기본 색상 문자열은 GKlgxy
입니다.
참고하세요
x1b[90m
– x1b[97m
으로 구현됨)을 사용하지 못할 수 있습니다.터미널 에뮬레이터의 매뉴얼과 ANSI 이스케이프 시퀀스에 대한 Wikipedia 기사를 참조하세요.
확장된 URL 대신 검색 결과에 도메인 이름을 표시하고 더 적은 공간을 사용하려면 환경 변수 DISABLE_URL_EXPANSION
설정하세요.
WSL에서는 기본적으로 Windows 측 GUI 브라우저를 감지할 수 없습니다. BROWSER
환경 변수를 Windows 실행 파일의 경로로 명시적으로 설정해야 합니다. 예를 들어, 쉘의 rc에 다음을 넣을 수 있습니다:
$ export BROWSER='/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe'
어떤 경우에는 googler
예상한 것보다 적은 수의 결과를 표시할 수 있습니다. 예를 들어 단일 결과( -n 1
)를 가져오면 결과가 표시되지 않을 수 있습니다. 그 이유는 Google이 사용자의 지리적 데이터에 따라 일부 Google 서비스(예: 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
처음에 끌어오기 요청을 올렸지만 마지막 변경 사항이 7년 전에 이루어진 것을 알 수 있었습니다. 게다가 작년에 원작자 Henri Hakkinen의 GitHub 활동이 없습니다. 나는 googler
라는 이름으로 프로젝트에 대한 독립적인 저장소를 만들었습니다. 원래 저작권 정보는 그대로 유지했습니다(지금은 googler
유기적으로 다르지만).
Google은 결과를 JSON 형식으로 반환하는 검색 API를 제공합니다. 그러나 공식 문서에서 제가 이해한 바에 따르면 API는 사용자 정의 검색 엔진의 기존 인스턴스에 대해 쿼리를 실행하며 무료로 하루에 100개의 검색 쿼리로 제한됩니다. 게다가 요금제를 변경하거나 다른 방식으로 API를 제한하는 경우에도 비용을 지불할 의향이 있습니다. 그래서 저는 Google 계획 및 정책과 결합하거나 추적 가능한 개인 맞춤 검색 API 키와 식별자를 대중에게 공개하는 것을 자제했습니다. 나는 개방적이고 자유로운 사양인 html을 가져오는 브라우저 방식을 유지했습니다.
여기에서 googler
위한 rofi 스크립트를 찾을 수 있습니다. 익명의 사용자가 작성했으며 테스트되지 않았으며 유지 관리하지 않습니다.
Albert Launcher Python 플러그인 저장소(awesome-albert-plugins)에는 googler를 사용하는 다양한 웹사이트에 대한 제안 지원 검색 플러그인이 포함되어 있습니다. 데모 및 사용 지침은 후자를 참조하세요.
풀 요청을 환영합니다. TODO 목록을 보려면 #209를 방문하세요.
기여해주신 Jeremija와 Narrat에게 특별히 감사드립니다.
로고 저작권 © 2017 Zhiming Wang.
코드와 함께 자유롭게 재배포하거나 이 프로젝트를 설명하거나 연결할 때 사용할 수 있습니다. 수정된 버전을 생성하거나 프로젝트의 로고나 아이콘으로 만들거나(개인 포크 및/또는 업스트리밍을 목적으로 하는 포크 제외) 서면 허가 없이 사용해서는 안 됩니다.