googler
adalah alat canggih untuk Google (web, berita, video, dan pencarian situs) dari baris perintah. Ini menunjukkan judul, URL dan abstrak untuk setiap hasil, yang dapat langsung dibuka di browser dari terminal. Hasil diambil di halaman (dengan navigasi halaman). Mendukung pencarian berurutan dalam satu contoh googler
.
googler
awalnya ditulis untuk melayani server tanpa kepala tanpa X. Anda dapat mengintegrasikannya dengan browser berbasis teks. Namun, ini telah berkembang menjadi utilitas yang sangat berguna dan fleksibel yang memberikan lebih banyak manfaat. Misalnya, mengambil sejumlah hasil atau memulai di mana saja, membatasi pencarian berdasarkan durasi berapa pun, menentukan alias untuk pencarian Google di sejumlah situs web, berpindah domain dengan mudah... semua ini dalam antarmuka yang sangat bersih tanpa iklan atau URL menyimpang. Skrip penyelesaian shell memastikan Anda tidak perlu mengingat opsi apa pun.
googler
tidak berafiliasi dengan Google dengan cara apa pun.
Berikut beberapa contoh penggunaan:
Google halo dunia :
$ googler hello world
Ambil 15 hasil yang diperbarui dalam 14 bulan terakhir, mulai dari hasil ke -3 untuk kata kunci buku hutan di situs imdb.com:
$ googler -n 15 -s 3 -t m14 -w imdb.com jungle book
Atau, daripada 14 bulan terakhir, carilah hasil khususnya antara 4 April 2016 dan 31 Desember 2016:
$ googler -n 15 -s 3 --from 04/04/2016 --to 12/31/2016 -w imdb.com jungle book
Baca berita terkini tentang gadget:
$ googler -N gadgets
Ambil hasil kriket IPL dari server Google India dalam bahasa Inggris :
$ googler -c in -l en IPL cricket
Cari video di PyCon 2020:
$ googler -V PyCon 2020
Cari teks yang dikutip :
$ googler it's a "beautiful world" in spring
Cari jenis file tertentu :
$ googler instrumental filetype:mp3
Nonaktifkan koreksi ejaan otomatis , misalnya ambil hasil untuk googler
bukan google
:
$ googler -x googler
Saya merasa beruntung, cari:
$ googler -j leather jackets
Pencarian khusus situs web :
$ googler -w amazon.com -w ebay.com digital camera
Pencarian spesifik situs berlanjut di omniprompt.
Argumen posisi digabungkan (dengan pembatas spasi) untuk membentuk kueri akhir, sehingga Anda bisa berkreasi dengan alias Anda. Misalnya, selalu kecualikan seoarticlefactory.com dari hasil pencarian:
$ alias googler='googler " -site:seoarticlefactory.com"'
$ googler '<hugely popular keyword filled with SEO garbage>'
Alias untuk mencari definisi kata :
alias define='googler -n 2 define'
Cari kata kunci n
, p
, o
, O
, q
, g keywords
atau indeks hasil di omniprompt : karena omniprompt mengenali kunci atau string indeks ini sebagai perintah, Anda perlu mengawalinya dengan g
, misalnya,
g n
g g keywords
g 1
Pengalihan masukan dan keluaran:
$ googler -C hello world < input > output
Perhatikan bahwa -C
diperlukan untuk menghindari pencetakan karakter kontrol (untuk keluaran berwarna).
Keluaran pipa :
$ googler -C hello world | tee output
Gunakan skema warna khusus , misalnya skema warna hangat yang dirancang untuk Solarized Dark (tangkapan layar):
$ googler --colors bjdxxy google
$ GOOGLER_COLORS=bjdxxy googler google
Tunnel lalu lintas melalui proksi HTTPS , misalnya, instans Privoxy lokal yang mendengarkan pada port 8118:
$ googler --proxy localhost:8118 google
Secara default, variabel lingkungan https_proxy
digunakan, jika ditentukan.
Kutip beberapa kata kunci pencarian untuk dilengkapi secara otomatis (menggunakan skrip penyelesaian):
$ googler 'hello w<TAB>
Bantuan lebih lanjut:
$ googler -h
$ man googler
Hal menyenangkan lainnya yang dapat Anda coba dengan googler
:
filetype:mime
, site:somesite.com
). googler
memerlukan Python 3.6 atau lebih baru. Hanya rilis patch terbaru dari setiap versi minor yang didukung.
Untuk menyalin url ke clipboard di omniprompt, googler
mencari xsel
atau xclip
atau termux-clipboard-set
(dalam urutan yang sama) di Linux, pbcopy
(diinstal secara default) di macOS dan clip
(diinstal secara default) di Windows. Ini juga mendukung GNU Screen dan buffer copy-paste tmux jika X11 tidak ada.
Instal googler
dari manajer paket Anda. Jika versi yang tersedia sudah ketinggalan zaman, cobalah metode instalasi alternatif.
● Snap Store ( snap install googler
)
googler
v2.7 dan yang lebih baru dikirimkan dengan mekanisme peningkatan mandiri yang mungkin ingin Anda nonaktifkan. Untuk melakukan ini, jalankan
$ make disable-self-upgrade
sebelum instalasi.
Paket untuk Arch Linux, CentOS, Debian, Fedora, openSUSE dan Ubuntu tersedia dengan rilis stabil terbaru.
Jika Anda telah menginstal git, kloning repositori ini. Jika tidak, unduh rilis stabil terbaru atau versi pengembangan.
Untuk menginstal ke lokasi default ( /usr/local
):
$ sudo make install
Untuk menghapus googler
dan dokumen terkait, jalankan
$ sudo make uninstall
PREFIX
didukung, jika Anda ingin menginstal ke lokasi lain.
googler
adalah executable mandiri (dan dapat berjalan bahkan di lingkungan seperti Termux). Dari direktori yang berisi:
$ ./googler
googler
adalah skrip tunggal yang berdiri sendiri, jadi Anda hanya dapat mengunduh satu file jika Anda mau.
Untuk menginstal versi stabil terbaru, jalankan
$ sudo curl -o /usr/local/bin/googler https://raw.githubusercontent.com/jarun/googler/v4.3.2/googler && sudo chmod +x /usr/local/bin/googler
Anda kemudian dapat membiarkan Googler memutakhirkan dirinya sendiri dengan menjalankan
$ sudo googler -u
Demikian pula jika Anda ingin menginstal dari git master ( berisiko ), jalankan
$ sudo curl -o /usr/local/bin/googler https://raw.githubusercontent.com/jarun/googler/master/googler && sudo chmod +x /usr/local/bin/googler
dan tingkatkan dengan menjalankan
$ sudo googler -u --include-git
Kata kunci pencarian dan skrip penyelesaian opsi untuk Bash, Fish dan Zsh dapat ditemukan di masing-masing subdirektori auto-completion/
. Silakan merujuk ke manual shell Anda untuk instruksi instalasi.
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
tidak punya! Hal ini untuk mempertahankan kecepatan utilitas dan menghindari perbedaan spesifik OS. Pengguna dapat menikmati keuntungan file konfigurasi menggunakan alias (dengan pengecualian skema warna, yang juga dapat dikustomisasi melalui variabel lingkungan; lihat Warna). Tidak perlu menghafal pilihan.
Misalnya, alias berikut untuk bash/zsh/ksh/etc.
alias g='googler -n 7 -c ru -l ru'
mengambil 7 hasil dari server Google Rusia, dengan preferensi terhadap hasil dalam bahasa Rusia.
Alias memenuhi tujuan penggunaan file konfigurasi:
g
, pengaturan tersebut diperluas ke pengaturan pilihan.argparse
, googler
ditulis sehingga pengaturan di alias sepenuhnya ditimpa oleh opsi apa pun yang diteruskan dari cli. Jadi ketika pengguna yang sama menjalankan g -l de -c de -n 12 hello world
, 12 hasil dikembalikan dari server Google Jerman, dengan preferensi terhadap hasil dalam bahasa Jerman. googler @t
adalah tambahan yang nyaman untuk Google Penelusuran Situs dengan kata kunci unik. Meskipun googler
memiliki opsi terintegrasi untuk menelusuri situs, kami menyederhanakannya lebih lanjut dengan alias. File googler_at berisi daftar alias pencarian situs web. Untuk sumbernya, jalankan:
$ source googler_at
atau,
$ . googler_at
Dengan googler @t
, inilah cara Anda mencari hexspeak
di Wikipedia :
$ @w hexspeak
Oh ya! Anda juga dapat menggabungkan opsi googler
lainnya! Untuk membuat hidup lebih mudah, Anda juga dapat mengkonfigurasi shell Anda untuk menjadi sumber file saat dimulai.
Semua alias dimulai dengan simbol @
(karena itu namanya googler @t
) dan kecil kemungkinannya akan bertentangan dengan perintah shell apa pun. Jangan ragu untuk menambahkan alias Anda sendiri ke file tersebut dan menyumbangkan kembali alias yang menarik.
googler
bekerja langsung dengan beberapa browser berbasis teks jika variabel lingkungan BROWSER
disetel. Misalnya,
$ export BROWSER=w3m
atau untuk sekali pakai,
$ BROWSER=w3m googler query
Karena browser grafis tertentu memuntahkan pesan ke konsol, googler
menyembunyikan keluaran browser secara default kecuali BROWSER
disetel ke salah satu browser berbasis teks yang dikenal: saat ini elinks
, links
, lynx
, w3m
atau www-browser
. Jika Anda menggunakan browser berbasis teks yang berbeda, Anda perlu mengaktifkan output browser secara eksplisit dengan opsi --show-browser-logs
. Jika Anda yakin browser Anda cukup populer, kirimkan masalah atau permintaan penarikan dan kami akan mempertimbangkan untuk memasukkannya ke dalam daftar putih. Lihat halaman manual untuk detail lebih lanjut tentang --show-browser-logs
.
Jika Anda perlu menggunakan browser GUI dengan set BROWSER
, gunakan kunci omniprompt O
. googler
akan mencoba mengabaikan browser berbasis teks dan memanggil browser GUI. Log browser selalu disembunyikan dengan O
.
googler
memungkinkan Anda menyesuaikan skema warna melalui string enam huruf, mengingatkan pada BSD LSCOLORS
. Enam huruf mewakili warna
masing-masing. String enam huruf diteruskan sebagai argumen ke opsi --colors
, atau sebagai nilai variabel lingkungan GOOGLER_COLORS
.
Kami menawarkan warna/gaya berikut:
Surat | Warna/Gaya |
---|---|
A | hitam |
B | merah |
C | hijau |
D | kuning |
e | biru |
F | ungu |
G | cyan |
H | putih |
Saya | hitam cerah |
J | merah cerah |
k | hijau terang |
aku | kuning cerah |
M | biru cerah |
N | ungu cerah |
Hai | sian cerah |
P | putih cerah |
AH | versi tebal dari warna huruf kecil |
AKU P | versi tebal dari huruf kecil warna cerah |
X | normal |
X | berani |
kamu | video terbalik |
Y | video terbalik yang berani |
String warna default adalah GKlgxy
, yang merupakan singkatan dari
Perhatikan itu
x1b[90m
– x1b[97m
) mungkin tidak tersedia di semua emulator terminal berkemampuan warna;Silakan baca manual emulator terminal Anda serta artikel Wikipedia tentang escape sequence ANSI.
Untuk menampilkan nama domain di hasil penelusuran, bukan URL yang diperluas (dan menggunakan lebih sedikit ruang), setel variabel lingkungan DISABLE_URL_EXPANSION
.
Di WSL, browser GUI di sisi Windows tidak dapat dideteksi secara default. Anda perlu secara eksplisit mengatur variabel lingkungan BROWSER
ke jalur eksekusi Windows. Misalnya, Anda dapat memasukkan yang berikut ini ke dalam rc shell Anda:
$ export BROWSER='/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe'
Dalam beberapa kasus, googler
mungkin menampilkan jumlah hasil yang lebih sedikit dari yang Anda harapkan, misalnya, jika Anda mengambil satu hasil ( -n 1
), hasil tersebut mungkin tidak menampilkan hasil apa pun. Alasannya adalah Google menampilkan beberapa hasil layanan Google (misalnya Youtube), lokasi peta, dll. Tergantung pada data geografis Anda, yang coba dihilangkan googler
. Dalam beberapa kasus, Google (layanan web) tidak menampilkan 10 hasil (default) pada pencarian. Kami memilih untuk menghilangkan hasil ini sejauh mungkin. Meskipun hal ini dapat diperbaiki, hal ini memerlukan lebih banyak pemrosesan (dan lebih banyak waktu). Anda cukup menavigasi ke depan untuk mengambil rangkaian hasil berikutnya.
Secara default, googler
menerapkan beberapa optimasi TCP dan memaksa TLS 1.2 (pada Python 3.4 dan yang lebih baru). Jika Anda menghadapi masalah koneksi, coba nonaktifkan keduanya menggunakan tombol --notweak
.
Layanan Google Berita tidak tersedia jika bahasanya adalah dk
(Denmark), fi
(Finlandia), atau is
(Islandia). Gunakan -l en
. Silakan merujuk ke #187 untuk informasi lebih lanjut.
Beberapa pengguna telah melaporkan masalah dengan omniprompt berwarna (lihat masalah #203) dengan iTerm2 di macOS. Untuk memaksakan omniprompt yang jelas:
export DISABLE_PROMPT_COLOR=1
Awalnya saya mengajukan permintaan tarik tetapi saya dapat melihat bahwa perubahan terakhir dilakukan 7 tahun sebelumnya. Selain itu, tidak ada aktivitas GitHub dari penulis asli Henri Hakkinen dalam setahun terakhir. Saya telah membuat repo independen ini untuk proyek dengan nama googler
. Saya mempertahankan informasi hak cipta asli (meskipun googler
sekarang berbeda secara organik).
Google menyediakan API pencarian yang mengembalikan hasil dalam format JSON. Namun, sesuai pemahaman saya dari dokumen resmi, API mengeluarkan kueri terhadap mesin telusur khusus yang ada dan dibatasi hingga 100 kueri penelusuran per hari secara gratis. Selain itu, saya keberatan membayar jika mereka mengubah paket atau membatasi API dengan cara lain. Jadi saya menahan diri untuk tidak mengikuti rencana & kebijakan Google atau mengekspos kunci dan pengenal API penelusuran khusus pribadi saya yang dapat dilacak kepada publik. Saya mempertahankan cara browser melakukannya dengan mengambil html, yang merupakan spesifikasi terbuka dan gratis.
Anda dapat menemukan skrip rofi untuk googler
di sini. Ditulis oleh pengguna anonim, belum teruji dan kami tidak memeliharanya.
Repo plugin python Albert Launcher (awesome-albert-plugins) menyertakan plugin pencarian yang mendukung saran untuk berbagai situs web menggunakan Googler. Lihat yang terakhir untuk demo dan instruksi penggunaan.
Permintaan tarik dipersilakan. Silakan kunjungi #209 untuk daftar TODO.
Terima kasih khusus kepada jeremija dan Narrat atas kontribusinya.
Hak cipta logo © 2017 Zhiming Wang.
Anda dapat dengan bebas mendistribusikannya kembali bersama kode, atau menggunakannya saat menjelaskan atau menghubungkan ke proyek ini. Anda TIDAK boleh membuat versi modifikasi, menjadikannya logo atau ikon proyek Anda (kecuali fork pribadi dan/atau fork dengan tujuan upstreaming), atau menggunakannya tanpa izin tertulis.