import subprocess # الأمر لتحميل مكتبة معينة باستخدام pip command = "pip install whois urllib.parse" # تنفيذ الأمر في التيرمينال subprocess.run(command, shell=True) from flask import Flask, request, jsonify import whois import requests from urllib.parse import urlparse app = Flask(__name__) # Store the HTML content in a variable HTML_CONTENT = ''' سبيدي | فاحص المواقع السريع

سبيدي

فاحص المواقع السريع والذكي
جاري التحليل السريع للموقع...

معلومات الموقع

نصائح تحسين الموقع

تحليل الزيارات

''' def get_url_info(url): try: response = requests.get(url, timeout=10) response.raise_for_status() domain = urlparse(url).netloc domain_info = whois.whois(domain) registrar = domain_info.get('registrar', 'غير متوفر') creation_date = domain_info.get('creation_date', 'غير متوفر') expiration_date = domain_info.get('expiration_date', 'غير متوفر') info = { 'رابط': url, 'بروتوكول': urlparse(url).scheme, 'النطاق': domain, 'رمز الحالة': response.status_code, 'حجم المحتوى (بايت)': len(response.content), 'نوع المحتوى': response.headers.get('Content-Type', 'غير متوفر'), 'تاريخ الاستجابة': response.headers.get('Date', 'غير متوفر'), 'مسجل النطاق': registrar, 'تاريخ تسجيل النطاق': str(creation_date), 'تاريخ انتهاء النطاق': str(expiration_date) } return info except requests.RequestException as e: return {'error': f'خطأ في الوصول إلى الرابط {url}: {e}'} except Exception as e: return {'error': f'حدث خطأ أثناء جمع المعلومات: {e}'} def provide_website_tips(status_code): tips = [] if status_code == 200: tips.append("- الموقع يعمل بشكل جيد. تأكد من تحسين سرعة التحميل وتجربة المستخدم.") elif status_code == 404: tips.append("- الصفحة غير موجودة. تأكد من تحديث الروابط أو إنشاء صفحة 404 مخصصة.") elif status_code >= 500: tips.append("- خطأ في الخادم. تحقق من تكوين الخادم وتأكد من عدم وجود مشاكل في البرمجة.") else: tips.append(f"- حالة غير متوقعة: {status_code}. تحقق من إعدادات الخادم وتحسين جودة الموقع.") return tips def estimate_traffic(url): traffic_estimate = [] if 'example.com' in url: traffic_estimate.append("- الموقع يستخدم مثالاً، لذا تقدير الزيارات غير ممكن.") else: if 'edu' in urlparse(url).netloc: traffic_estimate.append("- المواقع التعليمية غالباً ما يكون لديها حركة مرور معتدلة إلى مرتفعة.") else: traffic_estimate.append("- تقدير عدد الزيارات غير متاح بدون أدوات تحليل متقدمة.") return traffic_estimate @app.route('/') def index(): return HTML_CONTENT @app.route('/check-url', methods=['POST']) def check_url(): data = request.json url = data.get('url', '') if not url: return jsonify({'error': 'مطلوب إدخال الرابط'}), 400 info