فاحص الروابط المعطلةالتطوير والتخصيص

سكربت Python يتجول في موقعك ويسرد كل رابط معطل مع الصفحة التي يوجد فيها

جاهز عادةً خلال 15 دقيقةالتعديلات مشمولةفحص الجودة
الباقات
حماية الدفعالتفاصيل
  • التعديلات ضمن الباقة مجانية.
  • إذا لم تردّ خلال 3 أيام من التسليم، يُقبل العمل تلقائيًا.

يُحجز المبلغ عند الدفع ولا يُحوَّل إلا بعد قبولك العمل.

سكربت Python يتجول في موقعك ويسرد كل رابط معطل مع الصفحة التي يوجد فيها

مثال على النتيجة

مثال على الباقة القياسية

دمج ملفات المبيعات الشهرية لـ 9 متاجر في تقرير Excel واحد

طريقة التشغيل

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  المجلد: sales/2026-10، عُثر على 9 ملفات
2026-11-02 09:14:03 INFO  shop-01.csv: 1,284 صفًا
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 صفًا
2026-11-02 09:14:04 WARN  shop-07.csv: تُخطّيت 3 صفوف بلا سعر (الأسطر 88، 412، 913)
2026-11-02 09:14:05 INFO  تم: 10,412 صفًا -> report-2026-10.xlsx (الورقتان «المبيعات» و«الإجماليات»)

إعدادات لا كود

أسماء أعمدة كل متجر موجودة في settings.ini، فالمتجر الجديد أو العمود الذي تغيّر اسمه يعني سطرًا واحدًا هناك:

[columns]
date = التاريخ, تاريخ البيع, اليوم
product = المنتج, الصنف, الاسم
quantity = الكمية, العدد, قطع
price = السعر, سعر الوحدة

جزء من الكود

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """يقرأ ملف متجر واحد ويمنح أعمدته أسماء أعمدة التقرير."""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: لا يوجد عمود لـ «{name}» (جرى البحث عن: {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

الملفات: أرشيف ZIP يضم merge_sales.py (310 أسطر)، وsettings.ini، وrequirements.txt، وملف README يشرح تثبيت Python وتشغيل السكربت ومعنى كل رسالة في السجل. يشغّله العميل على كمبيوتره الخاص.

العميل: سلسلة صغيرة من 9 متاجر للأدوات المكتبية؛ يرسل كل متجر مبيعاته الشهرية في ملف CSV أو Excel، بأسماء أعمدة تختلف قليلًا من متجر إلى آخر. المهمة: سكربت واحد يقرأ كل ملف في مجلد، ويوحّد الأعمدة في شكل واحد، ويكتب تقرير Excel واحدًا يضم كل المبيعات وورقة بالإجماليات حسب المتجر.

العميل وجميع التفاصيل افتراضية.

عن هذه الخدمة

الروابط التي لا تقود إلى أي مكان تزعج الزوار وتجعل الموقع يبدو مهملًا: منشورات قديمة في المدونة تشير إلى صفحات أزلتها، وروابط منتجات بعد تغيير الكتالوج، ومواقع شركاء أُغلقت. يبدأ سكربت Python هذا من صفحتك الرئيسية، ويتبع روابط موقعك الداخلية صفحة بعد صفحة، ويفحص كل رابط، وبدءًا من الباقة القياسية كل صورة يجدها. يحفظ قائمة بالمعطل منها مع الخطأ والصفحة التي يوجد فيها كل منها ونص الرابط، لتعرف ما يجب إصلاحه وأين. يقرأ الصفحات المفتوحة فقط، بوتيرة مهذبة تحددها، ولا يسجّل الدخول أبدًا. قد تفوته الروابط التي تضيفها الصفحات عبر JavaScript بعد التحميل. إنه مخصص لموقعك أنت. تشغّله على جهازك وتصلح الروابط بنفسك.

ما المشمول

  • ما الذي تحصل عليهأرشيف ZIP يضم سكربت Python وملف README بتعليمات خطوة بخطوة، ومن الباقة القياسية ملف إعدادات بصفحة البداية والحدود والوتيرة؛ ويُعرض الكود أيضًا في صفحة الطلب.
  • أين يوجد كل رابطالصفحة ونص الرابط والخطأ
  • الداخلية والخارجيةروابط إلى صفحاتك وإلى مواقع أخرى
  • وتيرة مهذبةتوقف بين الطلبات تحدده أنت
  • الصفحات المفتوحة فقطبلا تسجيل دخول وبلا تجاوز للحماية
  • كود مقروءمع تعليقات، ليسهل تغيير الحدود لاحقًا

كيف يعمل

  1. 1
    المهمةتعطينا عنوان الموقع وما يجب فحصه
  2. 2
    الكودنكتب السكربت ودليل تشغيله
  3. 3
    جرّبهتشغّله بحد صغير للصفحات أولًا، ثم على الموقع كله
  4. 4
    التعديلاتتطلب التعديلات ضمن باقتك وترسل أي رسالة خطأ

ما نحتاجه منك

عنوان موقعك، وعدد صفحاته التقريبي، وأي أقسام تُستثنى (نتائج البحث، الفلاتر، السلة، صفحات الإدارة). هل تُفحص الصور والروابط إلى مواقع أخرى إضافة إلى صفحاتك. السرعة المسموح بها: صفحة في الثانية قيمة افتراضية مهذبة. صيغة التقرير التي تفضلها (CSV أو Excel) ونظامك: Windows أو macOS أو Linux.

سنسألك:

  • ما عنوان موقعك؟
  • ما الذي يجب أن يفحصه؟
  • هل هناك ما يُستثنى؟
  • أين سيعمل؟

قارن بين الباقات

الباقاتالأساسيةروابط في قائمة صفحات‏16 US$القياسيةالتجول في الموقع مع الإعدادات‏33 US$المميزةأداة فحص الروابط‏67 US$
مدة التنفيذ1 يوم2 يوم3 أيام
التعديلات123
الكودحتى 150 سطرًاحتى 400 سطرحتى 1,000 سطر
ملفات الكود1حتى 3حتى 8
ملف الإعداداتلانعمنعم
رسائل خطأ واضحة وسجللانعمنعم
خيارات التشغيل ودليل لتشغيله وفق جدول زمنيلالانعم
دليل التثبيت والتشغيل (README)نعمنعمنعم
اللغةPythonPythonPython
اطلب الأساسيةاطلب القياسيةاطلب المميزة

حماية الدفع

تدفع عند الطلب، لكن المبلغ لا يُحوَّل إلا مقابل عمل قبلته.

  • سعر ثابتلا يتغير سعر الباقة بعد الدفع.
  • المبلغ محجوزعند الدفع، يُحجز المبلغ فقط. ولا يُحوَّل إلى Dleex إلا بعد قبولك العمل.
  • فحص قبل التسليمتخضع كل نتيجة لفحص الجودة قبل أن تصل إليك، وتراها في صفحة الطلب قبل قبولها.
  • تعديلات مجانيةاطلب تعديلات ضمن متطلبات طلبك بالعدد الذي تسمح به الباقة.
  • القبول بعد 3 أيامإذا لم تقبل العمل ولم تطلب تعديلات خلال 3 أيام من التسليم، يُقبل تلقائيًا. وإذا كتبت في محادثة الطلب بعد التسليم، يبقى الطلب قيد الانتظار؛ وبعد ردّنا، قد نعيد بدء مهلة 3 أيام وسنُعلمك بذلك في المحادثة.
  • إعادة التنفيذ أو استرداد المبلغ كاملًاإذا لم تطابق النتيجة متطلبات طلبك ولم تُصلحها التعديلات، أو استغرق العمل أكثر من ضعف مدة التنفيذ، فاكتب في محادثة الطلب: سنعيد تنفيذ العمل أو نردّ إليك المبلغ كاملًا.
كيف يعمل →

الأسئلة والأجوبة

هل يمكنني فحص موقع شخص آخر؟

السكربت مصمم لموقعك أنت. فحص قائمة روابطك الخارجية إلى مواقع أخرى جزء منه، لكن التجول في موقع شخص آخر بالكامل ليس الغرض منه.

لماذا تظهر بعض الروابط السليمة في التقرير؟

بعض المواقع ترد على السكربتات بخطأ أو حظر حتى حين تُفتح الصفحة جيدًا في المتصفح. تُميَّز هذه الروابط بشكل منفصل لتتحقق منها يدويًا.

هل سيبطئ موقعي؟

ليس بوتيرة مهذبة: افتراضيًا يطلب صفحة واحدة في الثانية، وهذا أخف من زائر واحد يتنقل بسرعة. ويمكنك إبطاؤه أكثر في الإعدادات.

هل سيصلح الروابط؟

لا. يعطيك قائمة بما هو معطل وأين؛ وتصلح الروابط في محرر موقعك. لا نسجّل الدخول إلى موقعك أبدًا.

لم تجد إجابتك؟

الباقات