- تم النشر في
- • الاستضافة
سكربت بايثون يفحص صفحات الموقع اذا كانت تعمل ام لا وايضا من صلاحية الاعلانات داخل الصفحة
- المؤلف
-
-
- مستخدم
- toufic mamdouh
- Posts by this author
- Posts by this author
-
✅ فحص صفحات الموقع والإعلانات تلقائيًا باستخدام 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("🚫 لم يتم العثور على روابط لفحصها.") ```