TMWeb
تم النشر في
الاستضافة

سكربت بايثون يفحص صفحات الموقع اذا كانت تعمل ام لا وايضا من صلاحية الاعلانات داخل الصفحة

المؤلف

✅ فحص صفحات الموقع والإعلانات تلقائيًا باستخدام Python

في هذا المقال، سنقوم بإنشاء سكربت بلغة Python لفحص صفحات موقعك الإلكتروني، والتأكد من أنها تعمل بشكل سليم وتُظهر الإعلانات (مثل Google AdSense). السكربت بسيط ولكنه فعال لأغراض الصيانة ومراقبة الجودة خاصةً لأصحاب المواقع والمدونات.


💡 لماذا تحتاج هذا السكربت؟

  • التأكد من أن جميع صفحات موقعك تعمل (حالة HTTP 200).
  • التحقق من وجود الإعلانات في الصفحات.
  • الكشف المبكر عن الأعطال أو الحظر الإعلاني.
  • أداة بسيطة يمكن جدولة تشغيلها يوميًا.

🧰 المتطلبات

قبل أن تبدأ، تأكد من تثبيت المكتبات التالية:

pip install requests beautifulsoup4

📄 شكل ملف الروابط urls.txt
أنشئ ملفًا باسم urls.txt وضع فيه روابط الصفحات، كل رابط في سطر:

https://example.com
https://example.com/page1
https://example.com/page2

🧑‍💻 كود السكربت
احفظ الكود التالي في ملف check_site.py:

import requests from bs4 import BeautifulSoup import os

قراءة الروابط من ملف urls.txt

def read_urls_from_file(filename="urls.txt"): if not os.path.exists(filename): print(f"⚠️ الملف {filename} غير موجود.") return []

with open(filename, "r", encoding="utf-8") as file:
    urls = [line.strip() for line in file if line.strip()]
return urls

فحص الصفحات

def check_pages(urls): for url in urls: try: response = requests.get(url, timeout=10) status = response.status_code print(f"[{status}] {url}")

        if status == 200:
            check_ads(response.text, url)
        else:
            print(f"❌ الصفحة لا تعمل: {url}")
    except requests.RequestException as e:
        print(f"⚠️ خطأ في فتح الصفحة {url}: {e}")

فحص الإعلانات داخل الصفحة

def check_ads(html, url): soup = BeautifulSoup(html, "html.parser")

# نفترض أن الإعلانات من AdSense
ads = soup.find_all("ins", class_="adsbygoogle")

if not ads:
    print(f"🚫 لا توجد إعلانات ظاهرة في: {url}")
else:
    print(f"✅ عدد الإعلانات: {len(ads)} في: {url}")

if name == "main": urls = read_urls_from_file() if urls: check_pages(urls) else: print("🚫 لم يتم العثور على روابط لفحصها.") ```