#!/usr/bin/env python
import sys
import subprocess

# Vérifie et installe bs4 si nécessaire
try:
    from bs4 import BeautifulSoup
except ImportError:
    print("bs4 non trouvé, installation en cours...")
    subprocess.check_call([sys.executable, "-m", "pip", "install", "beautifulsoup4"])
    from bs4 import BeautifulSoup

import requests
import argparse


def recherche_duckduckgo(query, n=5):
    url = "https://html.duckduckgo.com/html/"
    params = {"q": query}

    headers = {
        "User-Agent": "Mozilla/5.0"
    }

    response = requests.post(url, data=params, headers=headers)
    soup = BeautifulSoup(response.text, "html.parser")

    results = []

    for result in soup.find_all("a", class_="result__a", limit=n):
        title = result.get_text()
        link = result.get("href")
        results.append((title, link))

    return results


def main():
    parser = argparse.ArgumentParser(description="Recherche DuckDuckGo simple")
    parser.add_argument("query", type=str, help="Terme de recherche")
    parser.add_argument("-n", "--number", type=int, default=5, help="Nombre de résultats")

    args = parser.parse_args()

    results = recherche_duckduckgo(args.query, args.number)

    for i, (title, link) in enumerate(results, 1):
        print(f"{i}. {title}")
        print(f"   {link}\n")


if __name__ == "__main__":
    main()
