سلام و خسته نباشید
ما یه سایت فروشگاهی زدیم که کارش اینه که لیست محصولات متنوعی رو که درج کردیم علاوه بر قیمت خودمون از سایت دیجی کالا هم استعلام قیمتی انجام میدیم و در کنار قیمت خودمون نشون میدیم
این استعلام قیمت ها به خاطر حجم زیاد از سمت اسکریپت و سرور دیجی کالا بلاک میشن
نحوه خوندن اطلاعات هم به این شکله که ما با توابعی مثل file_get_contents در php صفحات دیجی کالارو باز میکنیم و مقدار داخل تگ قیمت رو بر میداریم و توی سایت مون نشون میدیم
بنظرتون چه کاری میشه کرد تا دیجی کالا آی پی مونو مسدود نکنه؟
چون مثلا قیمت 1000 تا محصول از سایت دیجی کالا در هر ۵ دقیقه میخوایم بخونیم به یکباره وقتی ریکوئست رو میفرستیم آی پی رو بلاک میکنن
ممنون میشم راهکار بدید
باید از پروکسی استفاده کنید
البته *** هایی مثل HMA هم این امکان رو در اختیارتون قرار میدن ک هر X ثانیه ای پیتون تغییر کنه اما شما هم یه delay منصفانه و معقول توی اسکریپتتون بنویسید دیگه :))
سلام، وقتتون بخیر.
1) به جای فرستادن درخواست به صفحه محصول، از APIهای دیجیکالا استفاده کنید:
GET https://www.digikala.com/ajax/product/price-chart/{product_id}/
هم نیازی به سر و کله زدن با DOM ندارید و هم حجم ریسپانستون بیشتر از ٪۹۰ کمتر شده!
2) از صف (Queue) استفاده کنید و در هر دقیقه، تعداد محدودی رو از API بگیرید و توی دیتابیستون ذخیره کنید. اگه هر دقیقه 5 درخواست بفرستید، آپدیت 1000 محصول حدود سهساعت زمان میبره که خیلی هم خوبه.
3) استفاده از پراکسی و هدرهای مناسب هم شانس بیشتری بهتون میده. هر Job که Fail شد، بعدا پردازش میشه.
دوستان الان ما تصمیم مون این شده علاوه بر دیجی کالا به چندین سایت دیگه هم کانکشن بزنیم و دیتا بخونیم و همشون مثل دیجی کالا api ندارن
پس بحث api برامون منتفی هست
فقط دوست عزیزمون @mrhex گفتن که روش HMA میتونه یه سولوشن باشه ، ممنون میشم یه توضیحی در این خصوص بدید و این دقیقا یعنی چی و چطور باید تهیه بشه ؟ آیا نوعی سرور هست یا افزونه ای چیزی هست که باید روی سرور نصب بشه ؟ دقیقا باید چیکار کرد ... چون چیزی رو توی رفرنس ها پیدا نکردم واقعیتش
سلام hma یک نوع *** هست
که توی گوگل سرچ کنید میتونید سایت اصلی رو مشاهده کنید
و یک چیز دیگه اینکه به دلیل اینکه hma خارجی هست و برای خرید حتما باید از دلار استفاده کنید
به صرفه نیست
با سایت های ایرانی که پروکسی ارائه میدن صحبت کنید شاید به صرفه و بهتر بود
موفق باشید
سلام با توجه به قوانین راکت
لطفا در تلگرام پیام بدید
تا برای شما ارسال کنم
mehdi0121
@mehdi539
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟