AI Newsletter Digest improvements: fixed QP soft line break decoding, URL extraction, and content cleaning
This commit is contained in:
28
scripts/searxng-search.sh
Executable file
28
scripts/searxng-search.sh
Executable file
@@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
# SearXNG search wrapper
|
||||
# Usage: searxng-search.sh "query" [num_results]
|
||||
|
||||
SEARXNG_URL="http://docker.kangaroo-eel.ts.net:8010"
|
||||
QUERY="${1:-}"
|
||||
LIMIT="${2:-10}"
|
||||
|
||||
if [ -z "$QUERY" ]; then
|
||||
echo "Usage: searxng-search.sh \"query\" [num_results]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ENCODED=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$QUERY'))")
|
||||
|
||||
curl -s "${SEARXNG_URL}/search?q=${ENCODED}&format=json&pageno=1" | python3 -c "
|
||||
import json, sys
|
||||
data = json.load(sys.stdin)
|
||||
results = data.get('results', [])[:${LIMIT}]
|
||||
for i, r in enumerate(results, 1):
|
||||
print(f\"{i}. {r.get('title','')}\")
|
||||
print(f\" {r.get('url','')}\")
|
||||
snippet = r.get('content','').strip().replace('\n',' ')
|
||||
if snippet:
|
||||
print(f\" {snippet[:200]}\")
|
||||
print()
|
||||
print(f\"Total results: {len(data.get('results', []))}\")
|
||||
"
|
||||
Reference in New Issue
Block a user