برمجةحماية الدفعالتفاصيل
- التعديلات ضمن الباقة مجانية.
- إذا لم تردّ خلال 3 أيام من التسليم، يُقبل العمل تلقائيًا.
يُحجز المبلغ عند الدفع ولا يُحوَّل إلا بعد قبولك العمل.

مثال على النتيجة
محلل كتالوج مورّد أدوات الحدائق إلى 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 وفق بنيتها الفعلية، مع ملف إعدادات وملف README. تشغّله على كمبيوترك متى أردت أسعارًا محدّثة، ويصلك الجدول مباشرة. يقرأ الصفحات المفتوحة فقط بوتيرة مهذبة، ولا يسجّل الدخول أبدًا، ولا يتجاوز اختبارات captcha أو الحماية، ولا يجمع بيانات شخصية. أنت من يقرر ما إذا كانت شروط الموقع تسمح بذلك، وأي تغيير لاحق في تصميم صفحاته يتطلب تحديثًا.
ما المشمول
- ما الذي تحصل عليهأرشيف ZIP يضم كود Python وملف إعدادات وملف README بتعليمات خطوة بخطوة؛ ويُعرض الكود أيضًا في صفحة الطلب.
- أعمدة الأسعارالسعر والسعر القديم والخصم كأرقام منفصلة
- رموز للمطابقةرمز المنتج لدى المنافس أو الباركود، حين تعرضه الصفحة
- تاريخ كل فحصيحمل كل صف تاريخ جمعه
- وتيرة مهذبةفاصل زمني بين الصفحات تحدده أنت
- يعمل على كمبيوتركWindows أو macOS أو Linux؛ شغّله مجددًا للحصول على أسعار محدّثة
كيف يعمل
- 1الصفحاتترسل موقع المنافس وفئة وصفحة منتج محفوظة
- 2المحللنكتب الكود وفق تلك الصفحات مع دليل تشغيله
- 3التنفيذتشغّله وتقارن الصفوف الأولى بالموقع
- 4التعديلاتتطلب التعديلات ضمن باقتك وترسل أي رسالة خطأ
ما نحتاجه منك
موقع المنافس والصفحات المحددة: رابط إلى فئة وآخر إلى صفحة منتج، وعدد المنتجات تقريبًا. الحقول التي تحتاجها بترتيب جدولك، مثل: الاسم، والرمز، والسعر، والسعر القديم، والتوفر، والرابط. صفحة أو صفحتان من تلك الصفحات محفوظتان من متصفحك بصيغة HTML (ملف > حفظ الصفحة باسم) أو لقطات شاشة. CSV أو Excel، وأين ستشغّله.
سنسألك:
- أي موقع منافس وأي صفحات؟
- الحقول التي تحتاجها
- كم عدد المنتجات تقريبًا؟
- كم مرة ستشغّله؟
قارن بين الباقات
| الباقات | الأساسيةالأسعار من صفحات المنتجات21 US$ | القياسيةفئة كاملة42 US$ | المميزةحتى 3 منافسين75 US$ |
|---|---|---|---|
| مدة التنفيذ | 1 يوم | 2 يوم | 3 أيام |
| التعديلات | 1 | 2 | 3 |
| المواقع | 1 | 1 | حتى 3 |
| أنواع الصفحات | 1 | 2 (الفئة والمنتج) | حتى 3 |
| الحقول | حتى 10 | حتى 25 | حتى 25 في كل منها |
| يمر على صفحات قائمة | لا | نعم | نعم |
| ملف النتائج | CSV | Excel أو CSV | Excel أو CSV أو JSON |
| إزالة التكرارات، والاستئناف من حيث توقف | لا | لا | نعم |
| اطلب الأساسية | اطلب القياسية | اطلب المميزة |
حماية الدفع
تدفع عند الطلب، لكن المبلغ لا يُحوَّل إلا مقابل عمل قبلته.
- سعر ثابتلا يتغير سعر الباقة بعد الدفع.
- المبلغ محجوزعند الدفع، يُحجز المبلغ فقط. ولا يُحوَّل إلى Dleex إلا بعد قبولك العمل.
- فحص قبل التسليمتخضع كل نتيجة لفحص الجودة قبل أن تصل إليك، وتراها في صفحة الطلب قبل قبولها.
- تعديلات مجانيةاطلب تعديلات ضمن متطلبات طلبك بالعدد الذي تسمح به الباقة.
- القبول بعد 3 أيامإذا لم تقبل العمل ولم تطلب تعديلات خلال 3 أيام من التسليم، يُقبل تلقائيًا. وإذا كتبت في محادثة الطلب بعد التسليم، يبقى الطلب قيد الانتظار؛ وبعد ردّنا، قد نعيد بدء مهلة 3 أيام وسنُعلمك بذلك في المحادثة.
- إعادة التنفيذ أو استرداد المبلغ كاملًاإذا لم تطابق النتيجة متطلبات طلبك ولم تُصلحها التعديلات، أو استغرق العمل أكثر من ضعف مدة التنفيذ، فاكتب في محادثة الطلب: سنعيد تنفيذ العمل أو نردّ إليك المبلغ كاملًا.
الأسئلة والأجوبة
هل سيطابق منتجات المنافس مع منتجاتي؟
يحفظ رمز المنتج لدى المنافس والباركود والاسم كما تعرضها الصفحة، لتطابقها مع قائمتك في Excel. إن اختلفت الرموز عن رموزك، فالمطابقة عليك: نحن لا نخمّن أي المنتجات متماثلة.
هل يرى الأسعار المخصصة للمشترين المسجّلين أو لمشتري الجملة؟
لا. يقرأ الأسعار التي تعرضها الصفحة المفتوحة لأي زائر. الأسعار المحجوبة خلف حساب أو تسجيل دخول للجملة أو اختبار captcha تبقى بعيدة المنال.
هل يُسمح بجمع أسعار المنافس؟
جمع الأسعار العامة مسموح في حالات كثيرة، لكن شروط المواقع وقوانين البيانات تختلف من بلد إلى آخر، فأنت من يقرر ما إذا كان يحق لك جمعها واستخدامها. لا يسجّل المحلل الدخول أبدًا، ولا يتجاوز الحماية، ولا يجمع بيانات شخصية.
هل يمكنه جمع الأسعار من Amazon أو Google أو المتاجر داخل الشبكات الاجتماعية؟
لا. شروطها تمنع ذلك، والأمر نفسه ينطبق على LinkedIn والشبكات الاجتماعية الأخرى. لمثل هذه البيانات، استخدم التصدير الرسمي للخدمة أو واجهة API الخاصة بها.
ماذا لو غيّر المنافس موقعه؟
يتبع المحلل الصفحات كما هي الآن. بعد تغيير تصميمها يحتاج إلى تحديث، وهو طلب جديد. وإن حدّ الموقع من الزيارات، فلا يتجاوز المحلل ذلك.
لم تجد إجابتك؟


