Eine Websuche über die Linux-Befehlszeile

Es gibt mehrere Befehlszeilen-Webbrowser , und obwohl ich noch kein begeisterter Benutzer von ihnen bin, fing ich an, von Zeit zu Zeit das Surfen im Internet über eine einfache Befehlszeile zu mögen.

Ein großes Ärgernis ist, dass die meiste Zeit, die im Internet verbracht wird, mit der Websuche verbracht wird, anstatt eine Seite zu durchsuchen. Der grafische Browser, den ich am häufigsten verwende, Opera, handhabt dies gut, da die Suchleiste wie eine Schnittstelle für Suchen fragt. Ich kann "g etwas" eingeben, um Google zu durchsuchen, "b etwas", um Bing zu durchsuchen, und "w etwas", um Wikipedia zu durchsuchen zum Beispiel.

Gibt es eine Erweiterung oder ein Plugin für Befehlszeilen-Webbrowser, die eine Websuche direkt von der Linux-Befehlszeile aus ermöglichen? Was ich aus der Shell meine, sollte ich zum Beispiel eingeben können:

program_name "words to search"

und direkt auf der Ergebnisseite sein, anstatt das in zwei Schritten tun zu müssen

lynx www.bing.com
[type my search there]

Hinweis: Hier verwende ich lynxund Bing als Beispiele, aber es könnte jede Suchmaschine und jeder Befehlszeilenbrowser sein.

Was ist los mit Lynx? Versuchen Sie Folgendes: lynx http://www.google.com/search?q=search+from+commandline:) Sobald Sie die URL-Syntax zum Durchführen einer Suche kennen, können Sie diese direkt aufrufen.
Wow, das ist clever! Ich wette, es ist möglich, ein einfaches Shell-Skript zu erstellen, um solche erfundenen URLs für Sie zu erstellen. Das Ersetzen von Leerzeichen durch '+' ist jedoch der kniffligere Teil.
Sicher ist es das. Da dir die Idee gefällt, findest du meine Antwort unten :)

Antworten (4)

Wie Izzy betont, funktioniert eine Websuche direkt auf lynx wie ein Zauber. Wenn Sie jedoch mit dieser Lösung nicht vertraut sind, kann Googler tun, was Sie gefragt haben (jedoch nur für die Google-Suche). Sie müssen selbst kompilieren und installieren, aber dazu werden Anweisungen gegeben.

Sie können auch surfraw ausprobieren , es ist in Repos verfügbar (zumindest auf Debian-Systemen). Es kann mehrere Suchmaschinen durchsuchen, also kann es Ihre Anforderungen vielleicht besser erfüllen.

Was ist los mit Lynx? Versuchen Sie Folgendes: lynx http://www.google.com/search?q=search+from+commandline:) Sobald Sie die URL-Syntax zum Durchführen einer Suche kennen, können Sie diese direkt aufrufen.

Um dies zu vereinfachen, können Sie ein winziges Shell-Skript (oder einen Alias) schreiben, siehe How to urlencode data for curl command? auf unserer Schwesterseite für eine Million interessanter Beispiele. Gemäß unserer Regel, einige wesentliche Dinge beizufügen:

#!/bin/bash
url="http://www.google.com/search?q="
value="$*"
encoded_value=$(python -c "import urllib; print urllib.quote('''$value''')")
lynx ${url}${encoded_value}

Dieses kleine Snippet würde die Installation von Python erfordern, was auf Linux-Systemen kein großes Problem darstellen sollte. Wenn Sie Perl bevorzugen oder etwas in einfacher Bash schreiben möchten: Überprüfen Sie die verlinkte Seite auf SO, Sie finden Code für fast alles. Hier ist eine, die nur Core-Zeug verwendet (die mit so ziemlich jedem Linux-System vorinstalliert geliefert wird):

#!/bin/bash
url="http://www.google.com/search?q="
value="$*"
encoded_value=$(echo "$1" | sed -e 's/%/%25/g' -e 's/ /%20/g' -e 's/!/%21/g' -e 's/"/%22/g' -e 's/#/%23/g' -e 's/\$/%24/g' -e 's/\&/%26/g' -e 's/'\''/%27/g' -e 's/(/%28/g' -e 's/)/%29/g' -e 's/\*/%2a/g' -e 's/+/%2b/g' -e 's/,/%2c/g' -e 's/-/%2d/g' -e 's/\./%2e/g' -e 's/\//%2f/g' -e 's/:/%3a/g' -e 's/;/%3b/g' -e 's//%3e/g' -e 's/?/%3f/g' -e 's/@/%40/g' -e 's/\[/%5b/g' -e 's/\\/%5c/g' -e 's/\]/%5d/g' -e 's/\^/%5e/g' -e 's/_/%5f/g' -e 's/`/%60/g' -e 's/{/%7b/g' -e 's/|/%7c/g' -e 's/}/%7d/g' -e 's/~/%7e/g')
lynx ${url}${encoded_value}

Speichern Sie die gewünschte Variante als zB gsearch, machen Sie sie ausführbar, und los geht's:

gsearch awful bash examples

:)

Wenn Sie eine andere Suchmaschine bevorzugen: https://duckduckgo.com/?q=würde für DuckDuckGo funktionieren :)

Google

Sehen Sie sich diese Python-Skripte an, die das Suchen und Herunterladen von Dateien über die Befehlszeile ermöglichen. Es basiert auf den Google-Suchergebnissen.

  • google_dlSkript (empfohlen).

    Verwendungszweck:

    ./google_dl "search phrase"
    ./google_dl -s http://www.example.com/ -f pdf ""
    
  • gsrchDwnscript (basierend auf neos script ).

    Verwendungszweck:

    ./gsrchDwn.py --query "search phrase"
    ./gsrchDwn.py --query "site:http://www.example.com/" --ftype pdf
    

Hinweis: Ich bin der Betreuer der beiden erwähnten Skripte.

Beide implementieren die xgooglePython-Bibliothek. Mein Fork dieser Bibliothek basiert auf der pkrumins/xgoogleVersion .

Weitere zu berücksichtigende Projekte:

  • googler

    Ein leistungsstarkes Tool für Google (Web & News) und Google Site Search über die Befehlszeile.


DuckDuckGo

Verwendung von DuckDuckGo über die Befehlszeile:

  • Gehen Sie einfach zu: https://duckduckgo.com/tty/

    Eine in JavaScript implementierte Befehlszeilen-Suchmaschine. Es muss nichts installiert werden.

  • Verwenden Sie ddgrUtility , ein cmdline-Dienstprogramm, um DuckDuckGo vom Terminal aus zu durchsuchen.

Hallo , Sie möchten also vom Terminal aus mit Shell - Skript suchen ?

Antworten:

  • #!/usr/bin/env bash

  • klar

  • echo "Name der Suchmaschine"

  • echo -n "Suchen: "

  • Text lesen

  • Öffnen Sie "https://www.google.com/?q=$text"

  • Ausgang 1

Bist du zufrieden , lass es mich wissen....

Habt einen schönen Tag :)