#!/usr/bin/env python3 """ DDGS Search Script - Python script to perform web searches using ddgs """ import sys import json import argparse def search_ddgs(query, max_results=10): """ Perform a search using ddgs (DuckDuckGo Search) Args: query (str): Search query max_results (int): Maximum number of results to return Returns: list: List of search results with title, url, and description """ try: from ddgs import DDGS except ImportError: print(json.dumps({"error": "ddgs library not found. Please install it using: pip install ddgs"})) sys.exit(1) try: ddgs = DDGS() results = ddgs.text(query, max_results=max_results) # Format results to include only necessary fields formatted_results = [] for result in results: formatted_result = { "title": result.get("title", ""), "href": result.get("href", ""), "body": result.get("body", "") } formatted_results.append(formatted_result) return formatted_results except Exception as e: print(json.dumps({"error": str(e)})) sys.exit(1) def main(): parser = argparse.ArgumentParser(description="DDGS Search Script") parser.add_argument("query", help="Search query") parser.add_argument("--num-results", "-n", type=int, default=10, help="Number of search results to return (default: 10)") args = parser.parse_args() results = search_ddgs(args.query, args.num_results) print(json.dumps(results, ensure_ascii=False, indent=2)) if __name__ == "__main__": main()