Spaces:
Running
Running
| from flask import Flask, request, jsonify | |
| from duckduckgo_search import DDGS | |
| app = Flask(__name__) | |
| def home(): | |
| return "✦ 𝐅𝐅𝐗 ✦ Universal Search API is Live!" | |
| def search_all(): | |
| query = request.args.get('query') | |
| if not query: | |
| return jsonify({"error": "Query is required"}), 400 | |
| results = {"query": query, "videos": [], "images": [], "files": [], "web": []} | |
| try: | |
| with DDGS() as ddgs: | |
| # 🎬 ভিডিও (১০টি লিংক) | |
| try: | |
| for r in ddgs.videos(query, safesearch="off", max_results=10): | |
| results["videos"].append({"title": r.get("title", ""), "link": r.get("content", "") or r.get("url", "")}) | |
| except: pass | |
| # 🖼️ ছবি (৫টি লিংক) | |
| try: | |
| for r in ddgs.images(query, safesearch="off", max_results=5): | |
| results["images"].append({"title": r.get("title", ""), "link": r.get("image", "") or r.get("url", "")}) | |
| except: pass | |
| # 📂 ফাইল (১০টি লিংক) | |
| try: | |
| file_query = f"{query} ext:pdf OR ext:apk OR ext:zip OR torrent OR download" | |
| for r in ddgs.text(file_query, safesearch="off", max_results=10): | |
| results["files"].append({"title": r.get("title", ""), "link": r.get("href", "")}) | |
| except: pass | |
| # 🌐 ওয়েবসাইট (১৫টি লিংক) | |
| try: | |
| web_query = f"{query} watch online OR official site OR wiki" | |
| for r in ddgs.text(web_query, safesearch="off", max_results=15): | |
| results["web"].append({"title": r.get("title", ""), "link": r.get("href", "")}) | |
| except: pass | |
| except Exception as e: | |
| return jsonify({"error": str(e)}), 500 | |
| return jsonify(results) | |
| if __name__ == "__main__": | |
| app.run(host="0.0.0.0", port=7860) |