Digikala WooCommerce Importer
افزونهٔ وردپرس برای خواندن صفحات لیست محصول دیجیکالا و وارد کردن خودکار به فروشگاه ووکامرس همراه با دستهبندی، تصویر، پیشرفت زنده و تاریخچهٔ واردات.
توسعهدهنده
مجوز
پیشنیاز اصلی
مخزن
معرفی و پیشنیاز
Digikala WooCommerce Importer (فایل اصلی: digikala-product-scraper.php) صفحات لیست محصول دیجیکالا را میخواند و رکوردهای ووکامرس میسازد یا بهروز میکند. مناسب فروشگاههایی است که میخواهند کاتالوگ اولیه را از یک URL دسته یا جستجو پر کنند.
- نسخهٔ ذکرشده در README: 1.0.0 — در صورت نصب افزونه، اگر ثابت نسخه در کد تعریف شده باشد همان نمایش داده میشود.
- وردپرس: ۵٫۰ به بالا؛ PHP: ۷٫۴ به بالا.
- ووکامرس باید نصب و فعال باشد.
- سرور: پشتیبانی از
cURLوDOMDocumentبرای دریافت و پارس HTML.
نصب
- پوشهٔ افزونه را در
/wp-content/plugins/کپی کنید (نام پوشه معمولاً مطابق مخزن است). - از منوی افزونهها در پیشخوان، افزونه را فعال کنید.
- منوی Digikala Scraper (یا معادل فارسی/انگلیسی در منوی ادمین) برای شروع واردات در دسترس است.
جایگزین: کلون مستقیم از گیتهاب — بخش پایانی همین صفحه.
جریان واردات (استفادهٔ پایه)
- در دیجیکالا به یک صفحهٔ لیست (دسته، نتایج جستجو، …) بروید.
- URL کامل را از نوار آدرس کپی کنید.
- در پیشخوان: Digikala Scraper → Scrape Products (یا رابط معادل).
- URL را در فرم بچسبانید، تعداد صفحه و تأخیر را تنظیم کنید، در صورت نیاز دستهٔ ووکامرس را انتخاب کنید.
- Start Import را بزنید و پیشرفت را دنبال کنید.
افزونه از چند صفحهٔ لیست پشتیبانی میکند؛ برای شروع بهتر است محدودهٔ کوچک (۱–۳ صفحه) و تأخیر ۳–۵ ثانیه تست شود.
فیلدهای واردشده
بسته به نسخهٔ افزونه و ساختار صفحه، موارد زیر (طبق README مخزن) قابل انتظار است:
- عنوان محصول، قیمت فروش، قیمت عادی (در صورت تخفیف)
- تصاویر (دانلود و اتصال به محصول)
- برند، امتیاز، تعداد نظرات (در صورت وجود در HTML)
- لینک به صفحهٔ دیجیکالا، شناسه/SKU
- توضیحات و ویژگیها در صورت فعال بودن گزینههای مربوطه
تنظیمات و گزینهها
اسکرپینگ
- تأخیر بین درخواستها: معمولاً ۱ تا ۱۰ ثانیه (کاهش بار روی سرور).
- حداکثر صفحات: مثلاً ۱ تا ۲۰ صفحه از هر لیست.
- User-Agent: رشتهٔ سفارشی برای HTTP در صورت پشتیبانی در تنظیمات.
واردات
- ایجاد خودکار دستهٔ ووکامرس یا انتساب به دستهٔ موجود
- روشن/خاموش کردن دانلود تصویر، تولید توضیح، وارد کردن ویژگیها (برند، امتیاز، …)
رابط پیشخوان
- داشبورد: آمار کلی، میانبرها، فعالیت اخیر.
- Scrape Products: فرم URL، اعتبارسنجی، انتخاب دسته، پیشرفت زنده و نتیجه.
- Settings: گزینههای اسکرپ و واردات، بررسی پیشنیازهای سیستم.
- Import History: لاگ عملیات، موفق/ناموفق، جزئیات و در صورت وجود پاکسازی/خروجی.
جزئیات فنی
ساختار فایل (خلاصه)
digikala-product-scraper.php— bootstrap افزونهincludes/class-digikala-scraper.php— منطق استخراجincludes/class-woocommerce-importer.php— یکپارچگی ووکامرسadmin/— داشبورد، اسکرپ، تنظیمات، تاریخچه
جدول سفارشی
جدولی مانند wp_dps_scraping_logs برای ثبت URL، وضعیت، تعداد محصول، خطا و زمان (پیشوند جدول مطابق پیکربندی وردپرس شما).
نمونهٔ اکشنهای AJAX (طبق README)
| اکشن | کاربرد |
|---|---|
dps_scrape_digikala |
اجرای اصلی اسکرپ و واردات |
dps_get_scraping_progress |
خواندن پیشرفت |
dps_test_connection |
اعتبارسنجی URL |
dps_cleanup_logs |
پاکسازی لاگ |
dps_get_log_details |
جزئیات یک رکورد لاگ |
امنیت: طبق مستند افزونه، عملیات نیازمند احراز هویت مدیر و nonce معتبر برای درخواستهای AJAX است.
عیبیابی
- واردات ناموفق: دسترسی به URL، فایروال هاست، و فعال بودن cURL را بررسی کنید.
- محصولی پیدا نشد: احتمال تغییر DOM دیجیکالا یا URL غیرلیست.
- تصویر نیامد: مجوز نوشتن در رسانه و محدودیت PHP (حجم/زمان).
- کندی: تعداد صفحات را کم و تأخیر را بیشتر کنید.
امنیت و استفادهٔ قانونی
- فقط دادهٔ عمومی صفحات وب را هدف بگیرید؛ قوانین حریم خصوصی و شرایط استفادهٔ دیجیکالا را رعایت کنید.
- از rate limiting و تأخیر قابلپیکربندی برای کاهش فشار بر سرور استفاده کنید.
- این قالب معرفی و افزونه صرفاً برای اهداف مشروع آموزشی/تجاری توصیه میشوند؛ مسئولیت انطباق حقوقی با شماست.
کلون یا دانلود از گیتهاب
برای توسعه یا نصب دستی، مخزن را کلون کنید یا از دکمهٔ سبز Code در گیتهاب ZIP بگیرید.
git clone https://github.com/alireza-aminzadeh/digikala-woocommerce-importer.git
https://github.com/alireza-aminzadeh/digikala-woocommerce-importer