كيفية استخراج الصور: دليل عملي لعام 2026

كيفية استخراج الصور: دليل عملي لعام 2026

هل سئمت من حظر عناوين IP الذي يعرقل عملياتك؟ استخدم بروكسياتنا السكنية لتبديل عناوين IP بسرعة عالية، أو بروكسيات مزودي خدمة الإنترنت الآمنة لضمان استمرارية الحساب على المدى الطويل.

قد يبدو استخراج الصور أمرًا بسيطًا — العثور على عناوين URL وتنزيل الملفات. لكن في الواقع، تجعل شبكة الويب الحديثة كل جزء من هذه العملية تقريبًا أصعب مما ينبغي: فالمعارض تُحمَّل بشكل متأخر عند التمرير، وعناوين URL للصور موقَّعة بواسطة شبكات توزيع المحتوى (CDN)، والنسخة الأعلى جودة مخفية خلف حالة التمرير بالماوس، وأي موقع يستحق الاستخراج لديه دفاعات مضادة للروبوتات ستقوم بوضع علامة على أي برنامج نصي ساذج في غضون بضع مئات من الطلبات.

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

اختر الطريقة التي تناسبك بناءً على الكمية التي تحتاجها فعليًّا

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

المستوى 1 — عملية تُجرى مرة واحدة، بكميات صغيرة، في موقع واحد. استخدم ملحق المتصفح أو انقر بزر الماوس الأيمن واحفظ الملف. أي شيء آخر يعد إفراطًا.

المستوى 2 — من عشرات إلى مئات الصور من موقع واحد. أداة مخصصة لاستخراج الصور أو برنامج نصي بسيط بلغة بايثون يقوم بمسح صفحة واحدة.

المستوى 3 — آلاف الصور موزعة على العديد من الصفحات أو المواقع. برنامج نصي حقيقي لاستخراج البيانات مزود بآلية مناسبة لتحديد معدل الاسترجاع، ومنطق إعادة المحاولة، وسعة تخزين كافية.

المستوى 4 — جمع البيانات بشكل مستمر وعلى نطاق واسع (بيانات تدريب التعلم الآلي، وأبحاث سوقية مستمرة). مسار إنتاج مزود بوكلاء متناوبين، ودعم للمتصفح بدون واجهة مستخدم، ومخزن بيانات حقيقي.

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

المستوى 1: ملحقات المتصفح

للحصول على اثنتي عشرة صورة من صفحة واحدة، لا تزال ملحقات المتصفح هي الطريقة الأسرع. وفيما يلي الملحقات التي تستحق التثبيت اليوم:

  • برنامج تنزيل الصور (Chrome) — تنزيل جماعي سهل مع إمكانية التصفية حسب الأبعاد ونوع الملف. أقرب ما يكون إلى الإعداد الافتراضي الشامل.
  • Imageye (Chrome، Edge) — مجموعة ميزات مشابهة، واجهة مستخدم جيدة لتصفية الصور حسب الحجم والتنسيق.
  • DownThemAll! (Firefox) — برنامج كلاسيكي قديم، لا يزال قيد الصيانة، ويدعم أنواع ملفات أخرى غير الصور فقط.

تجنب الإضافات التي لم يتم تحديثها منذ أكثر من عام (فالكثير من أدوات «التنزيل بالنقرة المزدوجة» من جيل عام 2020 أصبحت الآن مهجورة أو خبيثة بشكل خفي — فقد أصبح متجر إضافات Chrome بمثابة مقبرة منذ فترة). تحقق من تاريخ آخر تحديث قبل تثبيت أي شيء.

العيب الوحيد لأي ملحق: ما زلت تقوم بتحميل كل صفحة بنفسك. وما أن يتجاوز عدد الصور بضع مئات حتى تصاب يدك بالتشنج.

المستوى 2: أدوات استخراج الصور والأدوات التي تعمل بدون واجهة مستخدم

خطوة إلى الأمام مقارنةً بالإضافات: أدوات تستقبل عنوان URL وتستخرج كل الصور من الصفحة المعروضة. يقتصر معظمها على موقع واحد في كل مرة، لكنها تتولى عملية النقر نيابةً عنك.

بالنسبة للمهام التي تُنفَّذ لمرة واحدة، غالبًا ما يكون الخيار الأبسط هو مجرد wget من سطر الأوامر:

bash

wget -r -l 2 -A jpg,jpeg,png,webp,gif --no-parent https://example.com/gallery/

وهو يقوم بتنزيل الصور بشكل متكرر من عمق مستويين بدءًا من عنوان URL، مع تصفية النتائج لتقتصر على أنواع ملفات الصور. وقد ظل موجودًا في كل توزيعات لينكس على مدار 25 عامًا، ولا يزال يعمل مع المواقع الثابتة. أما بالنسبة لنظام ويندوز، فإن المكافئ له هو curl أو في PowerShell Invoke-WebRequest.

بالنسبة للمواقع التي تفضل عدم استخدام البرمجة فيها، فإن الأدوات التي لا تتطلب كتابة أكواد برمجية والتي أثبتت كفاءتها هي: Octoparse (لا تزال موثوقة، وتعمل بنموذج «فريميوم»)، Apify (تتجه أكثر نحو المطورين، وهي سوق تضم أدوات استخراج بيانات جاهزة، بما في ذلك تلك المخصصة للصور)، Bardeen (أحدث، تعتمد على ملحقات المتصفح، تتكامل مع أدوات سير العمل الأخرى). لم يعد ParseHub الخيار الموصى به بشكل واضح كما كان قبل ثلاث سنوات — فقد تم تقييد النسخة المجانية بشكل كبير.

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

المستوى 3: بايثون — اللغة الافتراضية للمطورين العاملين

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

  • requests — يسترد الصفحات ويقوم بتنزيل ملفات الصور
  • BeautifulSoup — يقوم بتحليل لغة HTML ويبحث عن <img> العلامات و srcset السمات
  • Playwright — يقوم بتشغيل متصفح حقيقي بدون واجهة مستخدم عندما يحتاج الموقع إلى جافا سكريبت لعرض الصور
  • Pillow — معالجة الصور التي تم تنزيلها (تغيير الحجم، إزالة التكرارات، التحقق من صحة التنسيق)

الخطوات الأساسية لإنشاء صفحة ثابتة:

بايثون

import requests
from bs4 import BeautifulSoup
from urllib.parse import urljoin
import os

url = "https://example.com/gallery"
headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)"}

resp = requests.get(url, headers=headers)
soup = BeautifulSoup(resp.text, "html.parser")

os.makedirs("images", exist_ok=True)

for img in soup.find_all("img"):
    src = img.get("src") or img.get("data-src")
    if not src:
        continue
    full_url = urljoin(url, src)
    filename = os.path.join("images", os.path.basename(full_url.split("?")[0]))
    with open(filename, "wb") as f:
        f.write(requests.get(full_url, headers=headers).content)

هذه هي النسخة المختصرة التي تستغرق 30 ثانية. لكن في الواقع، سيتعين عليك التعامل مع بعض الحقائق التالية:

  • الصور التي يتم تحميلها بشكل مؤجل يعيش في data-src, data-original، أو سمات مشابهة بدلاً من src — تحقق من الصفحة قبل الوثوق بعلامات الترميز.
  • srcset السمات تحتوي على دقة عرض متعددة للصور المتكيفة. غالبًا ما لا تكون النسخة ذات الجودة الأعلى هي التي src يشير إلى؛ تحليل srcset للحصول على الأكبر.
  • معارض الصور التي يتم عرضها باستخدام JavaScript لن تظهر في requests لا يظهر أي إخراج على الإطلاق. انتقل إلى Playwright، وانتظر حتى يتم عرض المعرض، ثم استخرج البيانات من DOM.
  • تنتهي صلاحية عناوين URL الموقعة من شبكة CDN — إذا قمت بجمع عناوين URL دفعة واحدة ثم قمت بتنزيلها لاحقًا، فتوقع ظهور أخطاء 403. قم بالتنزيل فور اكتشافها.
  • الحماية من الارتباط المباشر يرفض الطلبات التي لا تستوفي الشروط المطلوبة Referer العنوان. قم بتمرير عنوان URL للصفحة المصدر كـ Referer ومعظمها يزول.

بالنسبة لعملية الاستخراج التي يتم إجراؤها بواسطة Playwright:

بايثون

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=True)
    page = browser.new_page()
    page.goto("https://example.com/gallery")
    page.evaluate("window.scrollTo(0, document.body.scrollHeight)")
    page.wait_for_timeout(2000)
    
    image_urls = page.eval_on_selector_all(
        "img", 
        "elements => elements.map(el => el.src)"
    )
    browser.close()

وهذا يعالج نمط «التمرير لتحميل المزيد» الذي يتسبب في تعطل برامج استخراج البيانات البسيطة في معظم معارض الصور الحديثة.

المستوى 4: الجمع على نطاق الإنتاج

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

لم يعد النص هو المشكلة. المشاكل هي:

تحديد معدل الزيارات وحظر عناوين IP. سيقوم أي موقع مهم بحظر أي عنوان IP فردي يزوره أكثر من بضع مرات في الدقيقة. الحل هو استخدام بروكسيات سكنية متناوبة — وهي عناوين IP مخصصة لمنازل حقيقية لا يمكن تمييزها عن حركة مرور المستخدمين العادية. لا تصلح بروكسيات مراكز البيانات لهذا الغرض؛ حيث تقوم منصات استضافة الصور الكبرى ومنصات التجارة الإلكترونية بوضع علامة على نطاقات عناوين IP الخاصة بمراكز البيانات بشكل افتراضي.

المحتوى المقيد جغرافيًّا. لا يتم عرض بعض الصور إلا في مناطق محددة (مثل الصور الرياضية المرخصة وصور المنتجات الإقليمية). ويتم التعامل مع هذا الأمر من خلال الاستهداف عبر الوكلاء على مستوى الدولة؛ أما بالنسبة للمحتوى المُترجم فعليًّا، فإن الاستهداف على مستوى المدينة هو ما يهم.

التخزين وإزالة التكرار. تبلغ سعة عملية تنزيل 100 ألف صورة بحجم 200 كيلوبايت لكل منها 20 جيجابايت. إجراء عملية التجزئة لكل صورة أثناء تنزيلها (عملية بسيطة hashlib.md5(content).hexdigest()) تتيح لك تخطي التكرارات دون الحاجة إلى الاحتفاظ بقاعدة بيانات موازية لأسماء الملفات.

منطق إعادة المحاولة. قد تتعطل الشبكات، وقد تقوم شبكات توزيع المحتوى (CDN) بتقييد السرعة، وقد تتعطل المتصفحات. لذا، يجب تضمين كل عملية تنزيل آلية «إعادة المحاولة مع التراجع التدريجي»، وتسجيل حالات الفشل بدلاً من التوقف عندها.

التزامن. الاستخدام aiohttp مع asyncio لأحمال العمل التي تتطلب تنزيلًا مكثفًا. يستغرق البرنامج النصي التسلسلي البسيط الذي يقوم بتنزيل 10 آلاف صورة بمعدل 200 مللي ثانية لكل طلب 33 دقيقة؛ بينما تستغرق النسخة غير المتزامنة أقل من دقيقة (بافتراض أن المصدر قادر على تحمل ذلك — تجنب إثقال كاهل خادم شخص آخر).

بالنسبة للمشاريع في هذه الفئة، فإن البنية التحتية للبروكسيات أكثر أهمية من البرنامج النصي الخاص بالاستخراج. فالبرنامج النصي لا يتجاوز 100 سطر، ويمكنك كتابته في ظهيرة واحدة. أما عناوين IP السكنية الموثوقة والمتغيرة فهي العنصر الذي يحدد فعليًّا ما إذا كانت المهمة ستُنفَّذ حتى النهاية أم ستتوقف عند نسبة 30% بسبب حظر عنوان IP.

يُعد IPBurger خيارًا مناسبًا هنا — بفضل البروكسيات السكنية المتناوبة، والاستهداف على مستوى البلد، وجلسات التصفح الثابتة عند الحاجة — وتبقى الفكرة الأوسع نطاقًا صحيحة بغض النظر عن المزود: ففي هذا المستوى، تُعد طبقة البروكسي هي الطبقة التي تتحمل العبء.

الجزء الذي يتجاهله معظم الأدلة الإرشادية: الجوانب القانونية والأخلاقية

يُعد استخراج الصور أحد الجوانب القانونية الأكثر غموضًا في مجال استخراج البيانات من الويب، وذلك لعدة أسباب محددة تفاقمت خلال العامين الماضيين:

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

غالبًا ما تحظر شروط الخدمة عملية «الاستخراج» صراحةً. لا يُعد انتهاك شروط الخدمة عادةً جريمة جنائية، ولكنه قد يُعتبر مخالفة مدنية، وقد يؤدي إلى حظر حساباتك وعناوين IP الخاصة بك. اقرأ شروط الخدمة الخاصة بأي موقع تقوم باستخراج البيانات منه على نطاق واسع.

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

بعض المحتويات محظورة بغض النظر عن إمكانية الوصول التقني إليها. فالصور التي تُظهر أفرادًا عاديين يمكن التعرف عليهم، ولا سيما القاصرين، ممنوعة تمامًا — حتى لو كانت الصفحة عامة. وتسري لوائح الخصوصية (GDPR، CCPA).

القاعدة العملية: إذا كنت ستشعر بالحرج من شرح عملية «الاستخراج» التي تقوم بها أمام قاضٍ أو محامي الموقع، فلا تفعلها. أما إذا كان بإمكانك شرحها بوضوح — «نحن نجمع صور المنتجات المنشورة علنًا لأغراض مقارنة الأسعار، مع الالتزام بملف robots.txt، وتقييد معدل طلباتنا، والإشارة إلى المصادر» — فمن المرجح أنك في مأمن.

مسار عمل افتراضي معقول

إذا كنت تبدأ اليوم مشروعًا لاستخراج الصور ولم تكن متأكدًا من المستوى الذي تحتاجه، فهذا هو المسار الذي يتناسب مع نمو مشروعك:

  1. افحص الصفحة باستخدام أدوات المطور في المتصفح. اعثر على المواقع الفعلية لعناوين URL الخاصة بالصور. ثابتة src? srcset? data-src؟ صور الخلفية في CSS؟ هذا البحث الذي يستغرق 10 دقائق سيوفر عليك ساعات من الوقت لاحقًا.
  2. جرب wget أو صغير requests + BeautifulSoup النص أولاً. إذا ظهرت الصور بوضوح، فهذا يعني أنك انتهيت.
  3. إذا تعطل العرض بسبب جافا سكريبت، فانتقل إلى Playwright. المتصفحات التي تعمل بدون واجهة مستخدم أبطأ، لكنها تتعامل مع كل ما يمكن للمستخدم الحقيقي رؤيته.
  4. إذا بدأت في تلقي أخطاء 403 أو 429، فقم بإضافة طبقة من البروكسيات السكنية. لا تحاول التحايل على نظام مكافحة الروبوتات عن طريق تعديل الرؤوس بشكل مستمر؛ فبمجرد أن يتعرف الموقع على عنوان IP الخاص بك، فإنه يظل معروفًا.
  5. أضف ميزة إزالة التكرار، ومنطق إعادة المحاولة، والتزامن بمجرد أن يبرر حجم العمل هذه التعقيدات. لا تقم ببناء مسار الإنتاج منذ اليوم الأول.

تفشل معظم مشاريع استخراج الصور في منتصف الخطوة الرابعة — ليس لأن كتابة البرامج النصية صعبة، بل لأن المشغل يحاول استخدام عناوين IP الخاصة بمراكز البيانات في الحالات التي تتطلب عناوين IP سكنية، فيضيع ثلاثة أيام في محاولة ذلك، ثم يستسلم. اختر البنية التحتية المناسبة منذ البداية، وسيكون الباقي سهلاً.

تتوقف قوة أعمالك على مدى وقت تشغيل البروكسي الخاص بك. انتقل إلى بروكسيات ISP الثابتة المخصصة للأعمال للحصول على سرعات مخصصة وموثوقية لا تتزعزع. أو قم بنشر بروكسيات سكنية متناوبة وحقق معدل نجاح في استخراج البيانات يبلغ 99.9%.

في هذا المقال:
توقف عن القلق بشأن جودة الوكيل الخاص بك

نضمن أن بروكسيات ISP الثابتة الخاصة بنا خالية تمامًا من أي مشاكل ومخصصة لك بنسبة 100٪. لا توجد أعباء مشتركة، بل أداء فائق فقط.

الحصول على بروكسيات ثابتة من مزودي خدمة الإنترنت

توقف عن التعرض للحظر. ابدأ في التوسع اليوم.

انضم إلى أكثر من 24,100 شركة تستخدم بروكسيات سكنية وبروكسيات مزودي خدمات الإنترنت (ISP) الأكثر موثوقية لجمع البيانات في الوقت الفعلي على نطاق واسع.

مجموعة عناوين IP تزيد عن 100 مليون
التفعيل الفوري
دعم فني على مدار الساعة طوال أيام الأسبوع