محلل المواقعالتطوير والتخصيص

محلل مواقع بلغة Python يجمع البيانات العامة من الصفحات في CSV أو Excel: الأسعار، والكتالوجات، والإعلانات

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

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

محلل مواقع بلغة Python يجمع البيانات العامة من الصفحات في CSV أو Excel: الأسعار، والكتالوجات، والإعلانات

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

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

محلل كتالوج مورّد أدوات الحدائق إلى Excel

شكل النتيجة

رقم الصنفالاسمالسعرمتوفرالوزنالصورة
GT-1042مقص تقليم، 20 مم18.90نعم0.24 كغ…/gt-1042.jpg
GT-1187منشار قابل للطي، 210 مم24.50نعم0.31 كغ…/gt-1187.jpg
GT-2210مقص تشذيب السياج، شفرة متموجة39.00لا1.10 كغ…/gt-2210.jpg
GT-3305مجرفة يدوية، فولاذ مقاوم للصدأ9.80نعم0.18 كغ…/gt-3305.jpg
GT-4120خرطوم حديقة 25 م، 1/2"42.00نعم2.90 كغ…/gt-4120.jpg

يضم الملف في هذا المثال 1,236 منتجًا من 52 صفحة قائمة.

جزء من الكود

def product_links(list_url: str) -> Iterator[str]:
    """روابط صفحات المنتجات من كل صفحات القائمة، مع اتباع رابط «التالي»."""
    url: str | None = list_url
    while url:
        page = fetch(url)
        for card in page.select("div.product-card a.title"):
            yield urljoin(url, card["href"])
        next_link = page.select_one("a.pagination-next")
        url = urljoin(url, next_link["href"]) if next_link else None


def fetch(url: str) -> BeautifulSoup:
    """صفحة مفتوحة واحدة، بوتيرة مهذبة: فاصل زمني بين الطلبات وبضع محاولات عند الأخطاء."""
    for attempt in range(3):
        time.sleep(settings.delay_seconds)
        response = session.get(url, timeout=30)
        if response.status_code == 200:
            return BeautifulSoup(response.text, "html.parser")
        log.warning("%s أجاب بالرمز %s، المحاولة %d من 3", url, response.status_code, attempt + 1)
    raise ScraperError(f"{url} لم تُفتح بعد 3 محاولات")

الملفات: أرشيف ZIP يضم scraper.py، وsettings.ini (صفحة البداية، والفاصل الزمني بين الطلبات، واسم الملف)، وrequirements.txt، وملف README عن التثبيت والتشغيل. يقرأ الصفحات المفتوحة فقط، صفحة كل ثانيتين، ويتحقق أولًا من ملف robots.txt الخاص بالموقع. يشغّله العميل على كمبيوتره الخاص.

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

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

عن هذه الخدمة

يجمع المحلل البيانات التي تراها في صفحات الويب العامة ويحفظها كجدول: أسعار المنتجات وتوفرها، أو كتالوج مورّد لمتجرك، أو الإعلانات، أو إعلانات الوظائف، أو الفعاليات، أو المقالات. أخبرنا بالموقع والصفحات، واذكر الحقول التي تحتاجها (الاسم، والسعر، والرابط، والصورة وما إلى ذلك)، وأرسل صفحة أو صفحتين من تلك الصفحات محفوظتين من متصفحك (ملف > حفظ الصفحة باسم) أو لقطات شاشة لها. نكتب المحلل بلغة Python وفق البنية الفعلية لتلك الصفحات، ويحفظ النتائج بصيغة CSV أو Excel أو JSON. تحصل على أرشيف يضم الكود، وملف إعدادات بالعناوين والفاصل الزمني بين الصفحات، وملف README يشرح كيف تثبّت Python وتشغّله. تشغّل المحلل على كمبيوترك، فتصلك البيانات مباشرة؛ نحن لا نجمعها نيابة عنك ولا نحتفظ بها. يقرأ الصفحات المفتوحة فقط، بوتيرة مهذبة، ولا يسجّل الدخول أبدًا، ولا يتجاوز اختبارات captcha أو غيرها من وسائل الحماية، ولا يجمع بيانات شخصية مثل أسماء الأشخاص أو عناوين بريدهم الإلكتروني أو أرقام هواتفهم. حين يغيّر موقع تصميمه، قد يحتاج المحلل إلى تحديث. وما إذا كان يحق لك جمع بيانات موقع واستخدامها وفق شروطه فمسؤوليتك.

ما المشمول

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

كيف يعمل

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

ما نحتاجه منك

الموقع والصفحات المحددة: رابط إلى قائمة وآخر إلى صفحة عنصر، وعدد الصفحات تقريبًا. الحقول التي تحتاجها، بترتيب جدولك، مع مثال لكل منها. صفحة أو صفحتان من تلك الصفحات محفوظتان من متصفحك بصيغة HTML (ملف > حفظ الصفحة باسم) أو لقطات شاشة، ليتبع المحلل بنيتها الفعلية. ملف النتائج الذي تحتاجه (CSV أو Excel أو JSON) وأين ستشغّله.

سنسألك:

  • أي موقع وأي صفحات؟
  • الحقول التي تحتاجها
  • كم عدد الصفحات تقريبًا؟
  • ملف النتائج
  • أي شيء آخر يجب أن يفعله

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

الباقاتالأساسيةمحلل لنوع واحد من الصفحات‏25 US$القياسيةصفحات القائمة والعناصر‏49 US$المميزةعدة مواقع أو أنواع صفحات‏89 US$
مدة التنفيذ1 يوم2 يوم3 أيام
التعديلات123
المواقع11حتى 3
أنواع الصفحات12 (القائمة والعنصر)حتى 3
الحقولحتى 10حتى 25حتى 25 في كل منها
يمر على صفحات قائمةلانعمنعم
ملف النتائجCSVExcel أو CSVExcel أو CSV أو JSON
إزالة التكرارات، والاستئناف من حيث توقفلالانعم
اطلب الأساسيةاطلب القياسيةاطلب المميزة

حماية الدفع

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

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

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

هل جمع بيانات موقع قانوني؟

جمع البيانات العامة مسموح في حالات كثيرة، لكن شروط استخدام المواقع وقوانين البيانات تختلف من بلد إلى آخر، فأنت من يقرر ما إذا كان يحق لك جمع البيانات واستخدامها. لا يسجّل المحلل الدخول أبدًا، ولا يتجاوز الحماية، ولا يجمع بيانات شخصية، وهذا يبقيه في الجانب الآمن.

هل ستجمعون البيانات نيابة عني؟

لا. تحصل على المحلل وتشغّله بنفسك، فتصلك النتائج مباشرة، ويمكنك تشغيله مجددًا كلما احتجت إلى بيانات محدّثة.

ماذا لو غيّر الموقع صفحاته أو حظر المحلل؟

يعمل المحلل وفق الصفحات كما هي الآن. إن غيّر الموقع تصميمه لاحقًا، يحتاج المحلل إلى تحديث، وهو طلب جديد. يقرأ بوتيرة مهذبة، لكن الموقع قد يحدّ من الزيارات مع ذلك؛ ولا يتجاوز المحلل مثل هذه القيود.

هل يستطيع جمع البيانات من Amazon أو Google أو الشبكات الاجتماعية؟

لا. شروطها تمنع جمع بياناتها بهذه الطريقة، وكثير من صفحاتها يتطلب تسجيل الدخول، وتحتوي على بيانات شخصية للناس. لمثل هذه البيانات، استخدم واجهة API الرسمية أو التصدير الخاص بالخدمة.

هل أحتاج إلى معرفة البرمجة؟

لا. يشرح ملف README كيف تثبّت Python مرة واحدة، وتثبّت ما يحتاجه المحلل بأمر واحد، وتشغّله. وللصفحات التي تبني محتواها بـ JavaScript، يستخدم المحلل مكتبة متصفح (Playwright)، ويشرحها ملف README أيضًا.

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

الباقات