حماية الدفعالتفاصيل
- التعديلات ضمن الباقة مجانية.
- إذا لم تردّ خلال 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 بتعليمات خطوة بخطوة؛ ويُعرض الكود أيضًا في صفحة الطلب.
- مواعيد نهائية قابلة للفرزالتواريخ بصيغة واحدة، جاهزة للفرز حسب الموعد النهائي
- السعر المبدئي كرقممع العملة في عمود خاص بها
- كلماتك المفتاحيةيبدأ من البحث الذي تضبطه على البوابة
- دون مسؤولي الاتصالالجهة المشترية فقط، دون أسماء أو هواتف
- وتيرة مهذبةفاصل زمني بين الصفحات يُضبط في الإعدادات
كيف يعمل
- 1البحثتضبط البحث وترسل رابطه وإعلانًا محفوظًا
- 2المحللنكتب الكود مع دليل تشغيله
- 3التنفيذتشغّله وتتحقق من إعلانات اليوم مقابل البوابة
- 4التعديلاتتطلب التعديلات ضمن باقتك وترسل أي رسالة خطأ
ما نحتاجه منك
بوابة المشتريات ورابط إلى بحث بكلماتك المفتاحية أو رموزك أو مناطقك، وصفحة إعلان واحدة، وعدد الإعلانات التي يعرضها البحث تقريبًا. الحقول بترتيب جدولك، مثل: الرقم، والموضوع، والجهة المشترية، والمنطقة، والسعر المبدئي، والعملة، وتاريخ النشر، والموعد النهائي، والرابط. صفحة أو صفحتان من تلك الصفحات محفوظتان من متصفحك (ملف > حفظ الصفحة باسم) أو لقطات شاشة. 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 أيام وسنُعلمك بذلك في المحادثة.
- إعادة التنفيذ أو استرداد المبلغ كاملًاإذا لم تطابق النتيجة متطلبات طلبك ولم تُصلحها التعديلات، أو استغرق العمل أكثر من ضعف مدة التنفيذ، فاكتب في محادثة الطلب: سنعيد تنفيذ العمل أو نردّ إليك المبلغ كاملًا.
الأسئلة والأجوبة
هل يمكنه تقديم العروض أو تنزيل وثائق المناقصة؟
لا. يقرأ الصفحات المفتوحة فقط ويحفظ رابط كل إعلان. الوثائق المحجوبة خلف حساب، والتوقيع، والعروض تبقى مهمتك.
هل لدى البوابة تصدير رسمي؟
تنشر كثير من بوابات المشتريات العامة بيانات مفتوحة أو ملفات تصدير. إن كانت بوابتك تفعل ذلك، فقد تخدمك أفضل، وسنخبرك بذلك حين نطّلع على صفحاتك.
هل سيجد لي كل مناقصة؟
يجمع ما يعرضه بحثك على البوابة. الكلمات المفتاحية الأفضل تعطي قائمة أشمل؛ ولا نعد بقائمة كاملة ولا بأي فوز.
هل يمكنه قراءة البوابات المحجوبة خلف تسجيل الدخول أو اختبار captcha؟
لا. لا يسجّل الدخول أبدًا ولا يتجاوز اختبارات captcha أو الحماية. كما لا يقرأ Google أو Amazon أو LinkedIn أو الشبكات الاجتماعية. أما البوابات الأخرى، فأنت من يقرر ما إذا كانت شروطها تسمح بذلك.
لم تجد إجابتك؟