Last active
July 6, 2023 17:28
-
-
Save usametov/2d859289bdaa3c1c7f49f8631bd22d13 to your computer and use it in GitHub Desktop.
babashka search
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bb | |
(require '[babashka.process :refer [shell process exec]]) | |
(require '[clojure.string :as s]) | |
(require '[cheshire.core :as json]) | |
(import 'java.time.format.DateTimeFormatter | |
'java.time.LocalDateTime) | |
(defn search | |
[q offset] | |
(-> | |
(shell {:out :string} "python" "search-client.py" q offset) | |
:out | |
(json/parse-string true) | |
:items)) | |
(defn search50 | |
[query search-name] | |
(doseq [offset (range 1 51 10)] | |
(spit (str search-name offset ".txt") | |
(into [] (mapv :link (search query offset)))))) | |
(defn weeks-ago-str | |
[num-of-weeks-ago] | |
(let [ date (.minusWeeks (LocalDateTime/now) 1) | |
formatter (DateTimeFormatter/ofPattern "yyyy-MM-dd")] | |
(.format date formatter))) | |
(def result (search "N-acetyl-aspartate (NAA) AND N-methyl-D-aspartate (NMDA) filetype:pdf")) | |
(map :link result) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import sys | |
import json | |
from googleapiclient.discovery import build | |
# GOOGLE_API_KEY and GOOGLE_CSE_ID | |
my_api_key = "" | |
my_cse_id = "" | |
def google_search(search_term, api_key, cse_id, offset, **kwargs): | |
service = build("customsearch", "v1", developerKey=api_key) | |
res = service.cse().list(q=search_term, cx=cse_id, start=offset, **kwargs).execute() | |
return res | |
result = google_search(sys.argv[1], my_api_key, my_cse_id, sys.argv[2]) | |
print(json.dumps(result)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment