Update app.py
Browse files
app.py
CHANGED
@@ -1,50 +1,66 @@
|
|
1 |
-
import gradio as gr
|
2 |
import requests
|
|
|
|
|
|
|
3 |
|
4 |
-
|
5 |
-
|
6 |
try:
|
7 |
-
# Ensure the URL has a protocol
|
8 |
-
if not url.startswith("http://") and not url.startswith("https://"):
|
9 |
-
url = "https://" + url
|
10 |
-
|
11 |
-
# Website performance analysis
|
12 |
response = requests.get(url, timeout=5)
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
traffic_analysis = "- تحليل الترافيك:\nالمعلومات الخاصة بالترافيك غير متوفرة حاليًا، يرجى التحقق يدويًا."
|
20 |
|
21 |
-
|
22 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
|
|
|
|
28 |
|
29 |
-
|
30 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
except Exception as e:
|
32 |
-
|
33 |
-
return error_message, error_message, error_message, error_message
|
34 |
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
inputs=gr.Textbox(label="رابط الموقع", placeholder="أدخل رابط الموقع (مثل: example.com)"), # Input field
|
39 |
outputs=[
|
40 |
-
gr.Textbox(label="
|
41 |
-
gr.Textbox(label="تحليل
|
42 |
-
gr.Textbox(label="
|
43 |
-
gr.Textbox(label="تحليل تجربة المستخدم")
|
44 |
],
|
45 |
-
title="
|
46 |
-
description="
|
47 |
-
)
|
48 |
-
|
49 |
-
# Launch the app
|
50 |
-
interface.launch(share=True)
|
|
|
|
|
1 |
import requests
|
2 |
+
import gradio as gr
|
3 |
+
from urllib.parse import urlparse
|
4 |
+
import socket
|
5 |
|
6 |
+
def check_url_status(url):
|
7 |
+
"""تحقق من حالة الرابط"""
|
8 |
try:
|
|
|
|
|
|
|
|
|
|
|
9 |
response = requests.get(url, timeout=5)
|
10 |
+
if response.status_code == 200:
|
11 |
+
return f"✅ الرابط يعمل بشكل صحيح! (Status Code: {response.status_code})"
|
12 |
+
else:
|
13 |
+
return f"⚠️ الرابط لا يعمل بشكل كامل. (Status Code: {response.status_code})"
|
14 |
+
except requests.exceptions.RequestException as e:
|
15 |
+
return f"❌ خطأ أثناء محاولة الوصول للرابط: {e}"
|
|
|
16 |
|
17 |
+
def analyze_website(url):
|
18 |
+
"""تحليل أساسي للموقع"""
|
19 |
+
try:
|
20 |
+
parsed_url = urlparse(url)
|
21 |
+
ip_address = socket.gethostbyname(parsed_url.netloc)
|
22 |
+
headers = requests.head(url).headers
|
23 |
+
|
24 |
+
info = f"""
|
25 |
+
🌐 **معلومات الموقع**:
|
26 |
+
- **النطاق (Domain):** {parsed_url.netloc}
|
27 |
+
- **عنوان IP:** {ip_address}
|
28 |
|
29 |
+
📄 **الرؤوس (Headers):**
|
30 |
+
{headers}
|
31 |
+
"""
|
32 |
+
return info
|
33 |
+
except Exception as e:
|
34 |
+
return f"❌ خطأ أثناء تحليل الموقع: {e}"
|
35 |
|
36 |
+
def advertising_insights(url):
|
37 |
+
"""اقتراحات لتحسين الأداء الدعائي"""
|
38 |
+
try:
|
39 |
+
response = requests.get(url)
|
40 |
+
if "google-analytics" in response.text:
|
41 |
+
analytics = "✅ الموقع يستخدم Google Analytics لتحليل الزوار."
|
42 |
+
else:
|
43 |
+
analytics = "⚠️ الموقع لا يستخدم Google Analytics. يُنصح بتفعيلها لتحسين التحليل."
|
44 |
+
|
45 |
+
suggestions = """
|
46 |
+
🎯 **اقتراحات لتحسين الأداء الدعائي**:
|
47 |
+
1. **استخدام Google Ads**: لتوسيع نطاق الحملات الإعلانية.
|
48 |
+
2. **تحسين محركات البحث (SEO)**: لتحسين الترتيب في البحث.
|
49 |
+
3. **إضافة أدوات Heatmaps مثل Hotjar**: لفهم سلوك الزوار.
|
50 |
+
"""
|
51 |
+
return f"{analytics}\n\n{suggestions}"
|
52 |
except Exception as e:
|
53 |
+
return f"❌ خطأ أثناء تحليل البيانات الدعائية: {e}"
|
|
|
54 |
|
55 |
+
with gr.Interface(
|
56 |
+
fn=[check_url_status, analyze_website, advertising_insights],
|
57 |
+
inputs=gr.Textbox(label="أدخل الرابط", placeholder="https://example.com"),
|
|
|
58 |
outputs=[
|
59 |
+
gr.Textbox(label="حالة الرابط"),
|
60 |
+
gr.Textbox(label="تحليل الموقع"),
|
61 |
+
gr.Textbox(label="اقتراحات تحسين الأداء الدعائي")
|
|
|
62 |
],
|
63 |
+
title="تحليل المواقع والروابط",
|
64 |
+
description="أداة شاملة لاختبار الروابط، تحليل المواقع، وتقديم اقتراحات لتحسين الأداء الدعائي."
|
65 |
+
) as demo:
|
66 |
+
demo.launch()
|
|
|
|