search-google
This commit is contained in:
+10
-30
@@ -1,34 +1,14 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env bash
|
||||||
import sys
|
|
||||||
import argparse
|
|
||||||
from time import sleep
|
|
||||||
import random
|
|
||||||
import subprocess
|
|
||||||
|
|
||||||
try:
|
q="$*"
|
||||||
from googlesearch import search
|
[ -z "$q" ] && q="$(cat)"
|
||||||
except ImportError:
|
|
||||||
subprocess.check_call([sys.executable, "-m", "pip", "install", "googlesearch-python"])
|
|
||||||
from googlesearch import search
|
|
||||||
|
|
||||||
|
# encode espace → +
|
||||||
|
q="${q// /+}"
|
||||||
|
|
||||||
def google_search(query, num_results):
|
ua="Mozilla/5.0"
|
||||||
# Effectuer une recherche Google et récupérer les 5 premiers résultats
|
|
||||||
results = search(query, num_results=num_results)
|
|
||||||
return results
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
curl -s -A "$ua" "https://www.google.com/search?q=$q&hl=en" \
|
||||||
parser = argparse.ArgumentParser(description="Effectuer une recherche Google.")
|
| grep -oP '(?<=<a href="/url\?q=)[^&]+' \
|
||||||
parser.add_argument("query", help="La requête de recherche (peut contenir des espaces)", nargs='+')
|
| sed 's/%25/%/g' \
|
||||||
parser.add_argument("-n", "--num_results", type=int, default=1, help="Nombre de resultats a generer")
|
| head -n 5
|
||||||
args = parser.parse_args()
|
|
||||||
num_results = args.num_results
|
|
||||||
query = ' '.join(args.query)
|
|
||||||
sleep(random.randint(100,1700) / 1000000)
|
|
||||||
sleep(random.randint(1,4))
|
|
||||||
results = google_search(query, num_results)
|
|
||||||
|
|
||||||
#for idx, result in enumerate(results, 1):
|
|
||||||
# print(f"{idx}. {result}")
|
|
||||||
for result in results:
|
|
||||||
print(f"{result}")
|
|
||||||
|
|||||||
Reference in New Issue
Block a user