يعد googler
أداة قوية لـ Google (الويب والأخبار ومقاطع الفيديو والبحث في المواقع) من سطر الأوامر. فهو يعرض العنوان وعنوان URL والملخص لكل نتيجة، والتي يمكن فتحها مباشرة في المتصفح من الوحدة الطرفية. يتم جلب النتائج في الصفحات (مع التنقل بين الصفحات). يدعم عمليات البحث المتسلسلة في مثيل googler
واحد.
تمت كتابة googler
في البداية لتلبية احتياجات الخوادم مقطوعة الرأس التي لا تحتوي على X. ويمكنك دمجه مع متصفح يستند إلى النص. ومع ذلك، فقد تطورت لتصبح أداة سهلة الاستخدام ومرنة للغاية توفر أكثر من ذلك بكثير. على سبيل المثال، يمكنك جلب أي عدد من النتائج أو البدء من أي مكان، وتقييد البحث بأي مدة، وتحديد الأسماء المستعارة للبحث في Google في أي عدد من مواقع الويب، وتبديل النطاقات بسهولة... كل هذا في واجهة نظيفة جدًا بدون إعلانات أو عناوين URL متناثرة. تتأكد البرامج النصية لإكمال الصدفة من أنك لا تحتاج إلى تذكر أي خيارات.
لا ينتمي googler
إلى Google بأي شكل من الأشكال.
فيما يلي بعض أمثلة الاستخدام:
جوجل مرحبا بالعالم :
$ googler hello world
جلب 15 نتيجة تم تحديثها خلال الـ 14 شهرًا الماضية، بدءًا من النتيجة الثالثة للكلمات الرئيسية Jungle Book في موقع imdb.com:
$ googler -n 15 -s 3 -t m14 -w imdb.com jungle book
أو بدلاً من آخر 14 شهرًا، ابحث عن النتائج على وجه التحديد في الفترة ما بين 4 أبريل 2016 و31 ديسمبر 2016:
$ googler -n 15 -s 3 --from 04/04/2016 --to 12/31/2016 -w imdb.com jungle book
اقرأ آخر الأخبار عن الأدوات الذكية:
$ googler -N gadgets
جلب النتائج على لعبة الكريكيت IPL من خادم Google India باللغة الإنجليزية :
$ 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
تعطيل التصحيح الإملائي التلقائي ، على سبيل المثال، جلب النتائج googler
بدلاً من google
:
$ 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 ، على سبيل المثال، مثيل Privoxy محلي يستمع على المنفذ 8118:
$ 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 إلى الحافظة في Omniprompt، يبحث googler
عن xsel
أو xclip
أو termux-clipboard-set
(بنفس الترتيب) على Linux، و pbcopy
(مثبت افتراضيًا) على macOS، وعن clip
(مثبت افتراضيًا) على Windows. كما أنه يدعم المخازن المؤقتة لنسخ ولصق GNU Screen وtmux في غياب X11.
قم بتثبيت 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
يمكنك بعد ذلك السماح لـ Googler بترقية نفسه عن طريق التشغيل
$ sudo googler -u
وبالمثل، إذا كنت تريد التثبيت من git master ( محفوف بالمخاطر )، فقم بتشغيل
$ 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
ليس لديه أي! يهدف هذا إلى الحفاظ على سرعة الأداة المساعدة وتجنب الاختلافات الخاصة بنظام التشغيل. يمكن للمستخدمين الاستمتاع بمزايا ملفات التكوين باستخدام الأسماء المستعارة (باستثناء نظام الألوان، الذي يمكن تخصيصه بشكل إضافي من خلال متغير البيئة؛ راجع الألوان). ليست هناك حاجة لحفظ الخيارات.
على سبيل المثال، الاسم المستعار التالي لـ bash/zsh/ksh/etc.
alias g='googler -n 7 -c ru -l ru'
جلب 7 نتائج من خادم Google روسيا، مع تفضيل النتائج باللغة الروسية.
يخدم الاسم المستعار كلا من أغراض استخدام ملفات التكوين:
g
، فإنه يمتد إلى الإعدادات المفضلة.argparse
، تمت كتابة googler
بحيث يتم تجاوز الإعدادات في الاسم المستعار بالكامل بواسطة أي خيارات تم تمريرها من cli. لذلك عندما يقوم نفس المستخدم بتشغيل g -l de -c de -n 12 hello world
، يتم إرجاع 12 نتيجة من خادم Google Germany، مع تفضيل النتائج باللغة الألمانية. يعد googler @t
وظيفة إضافية ملائمة لبحث مواقع Google باستخدام كلمات رئيسية فريدة. في حين أن لدى googler
خيارًا متكاملاً للبحث في موقع ما، فقد قمنا بتبسيطه بشكل أكبر باستخدام الأسماء المستعارة. يحتوي الملف googler_at على قائمة بالأسماء المستعارة للبحث في مواقع الويب. للحصول على مصدره، قم بتشغيل:
$ source googler_at
أو،
$ . googler_at
باستخدام googler @t
، إليك كيفية البحث في ويكيبيديا عن hexspeak
:
$ @w hexspeak
أوه نعم! يمكنك الجمع بين خيارات googler
الأخرى أيضًا! ولجعل الحياة أسهل، يمكنك أيضًا تكوين الصدفة الخاصة بك كمصدر للملف عند بدء تشغيله.
تبدأ جميع الأسماء المستعارة بالرمز @
(ومن هنا جاء اسم googler @t
) وهناك احتمال ضئيل لتعارضها مع أي أوامر Shell. لا تتردد في إضافة الأسماء المستعارة الخاصة بك إلى الملف والمساهمة مرة أخرى بالأسماء المستعارة المثيرة للاهتمام.
يعمل googler
خارج الصندوق مع العديد من المتصفحات النصية إذا تم تعيين متغير البيئة BROWSER
. على سبيل المثال،
$ export BROWSER=w3m
أو للاستخدام لمرة واحدة،
$ BROWSER=w3m googler query
نظرًا لأن بعض المتصفحات الرسومية ترسل رسائل إلى وحدة التحكم، يمنع googler
إخراج المتصفح افتراضيًا ما لم يتم تعيين BROWSER
على أحد المتصفحات النصية المعروفة: elinks
أو links
أو lynx
أو w3m
أو www-browser
حاليًا. إذا كنت تستخدم متصفحًا نصيًا مختلفًا، فستحتاج إلى تمكين إخراج المتصفح بشكل صريح باستخدام خيار --show-browser-logs
. إذا كنت تعتقد أن متصفحك يتمتع بشعبية كافية، فيرجى إرسال مشكلة أو طلب سحب وسننظر في إدراجه في القائمة البيضاء. راجع صفحة الدليل لمزيد من التفاصيل حول --show-browser-logs
.
إذا كنت بحاجة إلى استخدام متصفح واجهة المستخدم الرسومية مع تعيين BROWSER
، فاستخدم المفتاح متعدد الاستخدامات O
. سيحاول googler
تجاهل المتصفحات النصية واستدعاء متصفح واجهة المستخدم الرسومية. يتم دائمًا منع سجلات المتصفح باستخدام O
.
يتيح لك googler
تخصيص نظام الألوان عبر سلسلة مكونة من ستة أحرف، تذكرنا بـ BSD LSCOLORS
. الحروف الستة تمثل ألوان
على التوالى. يتم تمرير السلسلة المكونة من ستة أحرف إما كوسيطة لخيار --colors
، أو كقيمة لمتغير البيئة GOOGLER_COLORS
.
نحن نقدم الألوان/الأنماط التالية:
خطاب | اللون/النمط |
---|---|
أ | أسود |
ب | أحمر |
ج | أخضر |
د | أصفر |
ه | أزرق |
و | أرجواني |
ز | سماوي |
ح | أبيض |
أنا | أسود مشرق |
ي | أحمر مشرق |
ك | أخضر ساطع |
ل | أصفر مشرق |
م | أزرق ساطع |
ن | أرجواني مشرق |
س | سماوي مشرق |
ص | أبيض ناصع |
اه | نسخة جريئة من لون الحروف الصغيرة |
الملكية الفكرية | نسخة جريئة من الحروف الصغيرة ذات الألوان الزاهية |
س | طبيعي |
X | عريض |
ذ | فيديو عكسي |
ي | فيديو عكسي جريء |
سلسلة الألوان الافتراضية هي GKlgxy
، والتي تعني
لاحظ أن
x1b[90m
– x1b[97m
) قد لا تكون متوفرة في كافة المحاكيات الطرفية ذات القدرة على الألوان؛يرجى الرجوع إلى دليل المحاكي الطرفي الخاص بك بالإضافة إلى مقالة ويكيبيديا حول تسلسلات الهروب ANSI.
لإظهار أسماء النطاقات في نتائج البحث بدلاً من عنوان URL الموسع (واستخدام مساحة أقل)، قم بتعيين متغير البيئة DISABLE_URL_EXPANSION
.
في WSL، لا يمكن اكتشاف متصفحات واجهة المستخدم الرسومية على جانب Windows افتراضيًا. تحتاج إلى تعيين متغير البيئة BROWSER
بشكل صريح على مسار ملف Windows القابل للتنفيذ. على سبيل المثال، يمكنك وضع ما يلي في rc الخاص بـ Shell الخاص بك:
$ 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
.
لا تتوفر خدمة أخبار Google إذا كانت اللغة هي dk
(الدنمارك)، أو fi
(فنلندا)، is
(أيسلندا). استخدم -l en
. راجع رقم 187 لمزيد من المعلومات.
أبلغ بعض المستخدمين عن مشكلات تتعلق بالموجه الشامل الملون (راجع الإصدار رقم 203) مع iTerm2 على نظام التشغيل macOS. لفرض مطالبة شاملة واضحة:
export DISABLE_PROMPT_COLOR=1
في البداية قمت برفع طلب سحب ولكنني رأيت أن التغيير الأخير تم إجراؤه قبل 7 سنوات. بالإضافة إلى ذلك، لا يوجد أي نشاط على GitHub للمؤلف الأصلي هنري هاكينن في العام الماضي. لقد قمت بإنشاء هذا الريبو المستقل للمشروع بالاسم googler
. لقد احتفظت بمعلومات حقوق الطبع والنشر الأصلية (على الرغم من أن googler
مختلف عضويًا الآن).
توفر Google واجهة برمجة تطبيقات للبحث والتي تعرض النتائج بتنسيق JSON. ومع ذلك، وفقًا لفهمي من المستندات الرسمية، تصدر واجهة برمجة التطبيقات (API) الاستعلامات مقابل مثيل موجود لمحرك بحث مخصص وتقتصر على 100 استعلام بحث يوميًا مجانًا. بالإضافة إلى ذلك، لدي تحفظات بشأن الدفع إذا قاموا بتغيير خطتهم أو تقييد واجهة برمجة التطبيقات بطرق أخرى. لذلك امتنعت عن الاقتران بخطط وسياسات Google أو الكشف عن مفتاح ومعرف واجهة برمجة تطبيقات البحث المخصص الشخصي القابل للتتبع للجمهور. لقد احتفظت بطريقة المتصفح للقيام بذلك عن طريق جلب HTML، وهي مواصفات مفتوحة ومجانية.
يمكنك العثور على برنامج نصي rofi googler
هنا. كتبه مستخدم مجهول، ولم يتم اختباره ولا نحافظ عليه.
يتضمن مستودع python plugins الخاص بـ Albert Launcher (المكونات الإضافية الرائعة لـ albert) مكونات إضافية للبحث ممكّنة للاقتراحات لمجموعة متنوعة من مواقع الويب التي تستخدم Googler. الرجوع إلى الأخير للحصول على العروض التوضيحية وتعليمات الاستخدام.
طلبات السحب هي موضع ترحيب. يرجى زيارة رقم 209 للحصول على قائمة المهام.
شكر خاص لجيريميا ونارات على مساهماتهما.
حقوق الطبع والنشر للشعار © 2017 Zhiming Wang.
يمكنك إعادة توزيعه بحرية إلى جانب الكود، أو استخدامه عند وصف هذا المشروع أو الارتباط به. لا ينبغي لك إنشاء إصدارات معدلة منه، أو جعله شعارًا أو رمزًا لمشروعك (باستثناء الشوكات الشخصية و/أو الشوكات بهدف الرفع)، أو استخدامها دون إذن كتابي.