أنشئ متتبع أسعار أمازون ببايثون وApify: قالب مجاني (2026)
ابنِ متتبع أسعار أمازون مجانيا ببايثون وApify في 2026: سكربت قائمة ASIN وتنبيهات الانخفاض والجدولة اليومية وحساب تكلفة صادق لكل 1,000 منتج.
بصفتنا شركاء لـ Apify، قد نحصل على عمولة من عمليات الشراء المؤهلة التي تتم من خلال روابطنا، دون أي تكلفة إاضافية عليك. نحن نوصي فقط بالأدوات التي نثق بها.
أنشئ متتبع أسعار أمازون: بايثون + Apify (قالب مجاني)
أسعار أمازون لا تستقر أبدا. قد يتغير سعر المنتج نفسه عدة مرات في الأسبوع الواحد بينما يعيد البائعون تسعير عروضهم ضد بعضهم بعضا، أو يتنافسون على صندوق الشراء، أو يصفّون المخزون — وإذا كنت تبيع على أمازون أو تورّد منها أو تدير موقعا تابعا، فإن اكتشاف التغير متأخرا يعني خسارة الهامش أو الربط بسعر قديم. والفحص اليدوي لا يتوسع ليتجاوز حفنة منتجات، وتحظر أمازون السكربتات الساذجة بشراسة، لذا فالحل العملي هو متتبع آلي صغير: قائمة مراقبة من رموز ASIN، وكاشطة مُدارة تتكفل بعبء مكافحة البوتات، وقاعدة تنبيه لا تزعجك إلا عندما يتغير شيء فعلا.
يبني لك هذا الدليل ذلك بالضبط. ستحصل على قالب بايثون مجاني جاهز للتشغيل يقرأ قائمة ASIN مع أسعار مستهدفة، ويستدعي Amazon Product Scraper عبر عميل Apify الرسمي، ويقارن الأسعار الحية مع عتباتك، ويضيف كل تشغيل إلى ملف CSV لتاريخ الأسعار. ثم ستتعلم كيف تجدوله يوميا، وما تكلفته الحقيقية لكل 1,000 منتج، وكيف توسّع النمط نفسه إلى وولمارت. لا بنية كشط تحتاج صيانتها، ولا مجموعة بروكسيات تحتاج رعايتها — مجرد سكربت واحد وأداة مجدولة واحدة.
كيف يعمل: المجدول ← الأداة ← مجموعة البيانات ← التنبيه
كل متتبع أسعار، من سكربت عطلة نهاية الأسبوع إلى أنظمة إعادة التسعير للشركات، هو خط الأنابيب نفسه من أربع مراحل. وفهم المراحل مهم لأن لكل منها وظيفة واحدة بالضبط، وعندما يبدو شيء ما خاطئا في بياناتك ستعرف أي مرحلة تفحص.
المرحلة 1: المجدول. يجب أن يبدأ شيء ما التشغيل بإيقاع منتظم. وفي هذا القالب يكون ذلك إما تبويب الجداول المدمج في الأداة (تُحفظ إعدادات التشغيل مرة واحدة وتعمل يوميا) أو مهمة cron على جهازك تنفذ سكربت بايثون. يجيب المجدول عن سؤال واحد فقط: متى نفحص الأسعار؟ والتشغيل اليومي هو الافتراضي الذي يوصي به هذا الدليل، وقسم الجدولة أدناه يعرض الخيارين.
المرحلة 2: الأداة. تنفذ Amazon Product Scraper الاستخراج الفعلي على سحابة Apify. تسلّمها قائمة ASIN فتعيد سجلات منظمة — العنوان والعلامة التجارية والسعر الحالي مع العملة والسعر الأصلي والتقييم وعدد المراجعات والتوفر والفائز بصندوق الشراء وترتيب الأكثر مبيعا — بينما يمتص إعداد المتصفح الخفي وشبكة البروكسي رموز التحقق وحدود المعدل التي كانت ستقتل سكربتا يعمل من حاسوبك المحمول. وهذا هو سبب البناء على أداة مُدارة بدلا من الطلبات الخام: فأمازون من أشد المواقع دفاعا ضد البوتات على الويب، وتعهيد تلك المعركة هو أرخص قرار هندسي في هذا المشروع.
المرحلة 3: مجموعة البيانات. يستقر كل تشغيل مكتمل في مجموعة بيانات Apify: سجل JSON واحد لكل منتج، مؤرخ وغير قابل للتغيير. ينزّل السكربت عناصر مجموعة البيانات، ويوحّد حقل السعر (الذي يصل ككائن صغير فيه value وcurrency)، ويضيف صفا واحدا لكل ASIN يوميا إلى ملف price_history.csv المحلي. وعبر الأسابيع يصبح هذا الملف الأصل الحقيقي — سلسلة زمنية يمكنك رسمها أو ربطها ببيانات المبيعات أو تغذية قاعدة إعادة تسعير بها. أضف دائما ولا تكتب فوق القديم أبدا: فالمتتبع الذي يحتفظ بالسعر الأخير فقط هو طريقة مكلفة للنظر إلى أمازون.
المرحلة 4: التنبيه. التاريخ الخام عديم الفائدة إذا لم يقرأه أحد، لذا ينهي السكربت عمله بتقييم قاعدتين لكل منتج: هل انخفض السعر الحي إلى السعر المستهدف أو دونه، وهل تحرك منذ تشغيل الأمس؟ تُطبع الاختراقات كسطور ALERT وتُضاف إلى price_alerts.log، وهي بنية مملة عن قصد — فالمخرجات القياسية وملف السجل يندمجان مع أي شيء لاحقا (بريد إلكتروني أو سلاك أو خطاف ويب) دون تغيير جوهر المنطق. ابدأ بتنبيهات كثيرة على قائمة مراقبة صغيرة، ثم شدّد العتبات عندما تثق بالبيانات.
تتدفق البيانات في اتجاه واحد — يطلق المجدول، وتكشط الأداة، وتتراكم مجموعة البيانات، وتنطلق التنبيهات — وكل مرحلة قابلة للاختبار مستقلة. يمكنك تشغيل الأداة يدويا في وحدة تحكم Apify لفحص المرحلة الثانية، ومعاينة مجموعة البيانات في تبويب التخزين لفحص المرحلة الثالثة، وتغذية السكربت بملف JSON محفوظ لفحص المرحلة الرابعة دون إنفاق سنت واحد على تشغيل.
السكربت الكامل ببايثون: قائمة ASIN + تنبيهات العتبات
إليك القالب الكامل. يستخدم حزمة apify-client للغة بايثون وثلاثة حقول إدخال حقيقية من Amazon Product Scraper — وهي asins وmaxItems وproxyConfiguration — بالضبط كما في مخطط إدخال الأداة، إضافة إلى حقول الإخراج (asin وtitle وprice.value وprice.currency وavailability) من مثال مخرجاتها. ثبّت الاعتماد، وصدّر الرمز المميز، واستبدل قائمة المراقبة المؤقتة برموز ASIN الخاصة بك، وشغّله:
pip install apify-client
export APIFY_TOKEN="your-apify-api-token"
python price_tracker.py
import csv
import os
from datetime import date
from apify_client import ApifyClient
APIFY_TOKEN = os.environ["APIFY_TOKEN"]
ACTOR_ID = "junglee/amazon-crawler" # Amazon Product Scraper
# Your watchlist: ASINs you own or compete against, each with a target price.
# Replace the placeholder ASIN below with real ones from your catalog.
PRODUCTS = [
{"asin": "B0C1J2K3L4", "label": "Example headphones", "target_price": 349.00},
]
HISTORY_CSV = "price_history.csv"
ALERTS_LOG = "price_alerts.log"
def extract_price(item):
"""Return (value, currency) handling the actor's price object shape."""
price = item.get("price", {})
if isinstance(price, dict):
return price.get("value"), price.get("currency", "USD")
return price, item.get("currency", "USD")
def load_last_prices():
"""Map ASIN -> most recent recorded price from the history CSV."""
last = {}
if not os.path.exists(HISTORY_CSV):
return last
with open(HISTORY_CSV, newline="", encoding="utf-8") as f:
for row in csv.DictReader(f):
try:
last[row["asin"]] = float(row["price"])
except (ValueError, TypeError, KeyError):
continue
return last
def main():
targets = {p["asin"]: p for p in PRODUCTS}
client = ApifyClient(APIFY_TOKEN)
run_input = {
"asins": [p["asin"] for p in PRODUCTS],
"maxItems": len(PRODUCTS),
"proxyConfiguration": {"useApifyProxy": True},
}
run = client.actor(ACTOR_ID).call(run_input)
items = client.dataset(run["defaultDatasetId"]).list_items().items
last_prices = load_last_prices()
today = date.today().isoformat()
alerts = []
with open(HISTORY_CSV, "a", newline="", encoding="utf-8") as f:
writer = csv.DictWriter(
f,
fieldnames=["date", "asin", "label", "title", "price", "currency", "availability", "url"],
)
if f.tell() == 0:
writer.writeheader()
for item in items:
asin = item.get("asin", "")
value, currency = extract_price(item)
if value is None:
continue
writer.writerow({
"date": today,
"asin": asin,
"label": targets.get(asin, {}).get("label", ""),
"title": item.get("title", ""),
"price": value,
"currency": currency,
"availability": item.get("availability", ""),
"url": item.get("url", ""),
})
target = targets.get(asin, {}).get("target_price")
if target is not None and float(value) <= float(target):
alerts.append(
f"ALERT {today} {asin} hit target: {value} {currency} "
f"(target {target}) — {item.get('url', '')}"
)
previous = last_prices.get(asin)
if previous is not None and float(value) != float(previous):
alerts.append(
f"MOVED {today} {asin}: {previous} -> {value} {currency}"
)
if alerts:
with open(ALERTS_LOG, "a", encoding="utf-8") as f:
f.write("\n".join(alerts) + "\n")
for line in alerts:
print(line)
print(f"Checked {len(items)} products. History in {HISTORY_CSV}.")
if __name__ == "__main__":
main()
وملاحظات على تكييفه مع كتالوجك. أولا، حافظ على الحد الأدنى من المدخلات: يثبّت asins المنتجات المحددة، ويحد maxItems التشغيل بحجم قائمتك حتى لا يتضخم الزحف بسبب خطأ مطبعي، ويُوصى بشدة بتفعيل proxyConfiguration مع بروكسي Apify لأمازون — فالتناوب بجودة الإقامة هو ما يُبقي التشغيلات اليومية حية. ثانيا، توجد دالة extract_price المساعدة لأن الأداة تعيد السعر ككائن ({"value": 348.00, "currency": "USD"}) لا كرقم مجرد؛ وخزّن القيمة والعملة معا دائما وإلا أفسد تتبع الأسواق المتعددة سجلك بصمت. ثالثا، يزيل السكربت التكرار طبيعيا على الزوج (التاريخ وASIN) لأن التشغيل الواحد يكتب صفا واحدا لكل ASIN — وإذا جمعت يوما مدخلات ASIN ومدخلات بحث، أضف إزالة تكرار صريحة على ذلك الزوج قبل التحليل. وأخيرا، تعامل مع سجل التنبيهات كوصلة لا كمقصد: فتوجيهه إلى مرسل بريد أو خطاف محادثة لاحقا تعديل من عشرة أسطر لا يمس منطق الكشط أبدا.
وقبل أول تشغيل مجدول، نفّذ السكربت مرة يدويا وتحقق من ثلاثة أشياء: أن كل ASIN في قائمتك أنتج صفا واحدا بالضبط، وأن الأسعار تطابق ما تراه على صفحات المنتجات الحية، وأن عمود العملة ممتلئ. وإذا عاد ASIN فارغا فالسبب غالبا معرف خاطئ أو غير مطابق للمنطقة — أصلح قائمة المراقبة لا الشيفرة.
جدولته يوميا
المتتبع الذي يعمل عندما تتذكر تشغيله هواية، والمتتبع المجدول بنية تحتية. وأمامك خياران نظيفان وكلاهما مشروع — فاختر بناء على مكان الجدولة الذي تريده.
الخيار أ: جدول الأداة (الأسهل). افتح Amazon Product Scraper في وحدة تحكم Apify، والصق مدخلات asins مرة واحدة، وأنشئ جدولا في تبويب الجداول يطلقها يوميا — صباحا بتوقيت سوقك، لتكون البيانات طازجة عندما تخطط ليومك. ثم شغّل نصف السكربت الخاص بالتنزيل والمقارنة (كل ما بعد .call()) ضد أحدث مجموعة بيانات بالإيقاع نفسه. وهذا يقسم المسؤوليات بدقة: تملك Apify إيقاع الكشط، ويملك جهازك منطق التنبيه.
الخيار ب: cron يشغّل السكربت كاملا. على لينكس أو ماك، سطر crontab واحد يشغّل خط الأنابيب الكامل كل صباح في الثامنة:
0 8 * * * cd ~/price-tracker && APIFY_TOKEN="your-token" python3 price_tracker.py >> cron.log 2>&1
وفي الحالتين، ثلاث عادات تُبقي المتتبع اليومي جديرا بالثقة عبر الشهور. أضف إلى CSV التاريخ للأبد وانسخه احتياطيا — فذلك الملف هو المنتج. وراقب عدد العناصر اليومي: فإذا أعادت قائمة من 20 ASIN فجأة 14 صفا، افحص سجل التشغيل بحثا عن حظر أو تغير في التخطيط قبل أن تثق بالفجوات. وسجّل المدخلات بجانب المخرجات — أي ASIN وأي تاريخ — لأن قفزة غريبة بعد ستة أشهر لن تكون قابلة للتفسير إلا إذا عرفت بالضبط ما تم قياسه. ويناسب التشغيل اليومي الفئات المتقلبة كالإلكترونيات وكل ما تنافس فيه على صندوق الشراء؛ أما الكتالوجات بطيئة الحركة التي بالكاد تتحرك أسعارها فاخفضها إلى أسبوعية وأنفق الوفر على قائمة مراقبة أوسع بدلا من ذلك.
حساب التكلفة: ماذا يكلف 1,000 منتج حقا
يعيش متتبع الأسعار أو يموت باقتصاديات الوحدة، فإليك الحساب الصادق باستخدام الأرقام المنشورة للأداة — دون أي تقديرات مخترعة. تذكر تفاصيل أسعار Amazon Product Scraper تكلفة تقديرية من 5.00 إلى 10.00 دولارات لكل 1,000 منتج مستخرج بشكل شامل، مع أن دفاعات أمازون تجعل استخدام البروكسي المميز مشمولا عادة في ذلك النطاق. ويغطي رصيد Apify المجاني البالغ 5 دولارات شهريا تشغيلات الاختبار الأولى دون تكلفة.
وطبّق ذلك على قوائم واقعية. فمتتبع مبتدئ يراقب 20 ASIN يوميا يسحب نحو 600 منتج شهريا (20 × 30 يوما)، أي نحو 3 إلى 6 دولارات شهريا — داخل الرصيد المجاني بالكامل، فهو مجاني فعلا أثناء التحقق من الإعداد. ومتتبع البائع الجاد عند 100 ASIN يوميا يسحب نحو 3,000 منتج شهريا، أي نحو 15 إلى 30 دولارا، ناقصا رصيد الـ5 دولارات. ولا ترتفع التكلفة إلى ميزانية حقيقية إلا في المراقبة بحجم الفئات — آلاف ASIN يوميا — وحتى عندها تبقى تكلفة التشغيل ضئيلة أمام هامش نفاد مخزون واحد متفادى أو قرار إعادة تسعير واحد في وقته.
ويتحكم رافعان في الفاتورة. الأول انضباط القائمة: ضبط maxItems على حجم قائمتك مع الإيقاع اليومي (لا كل ساعة) يُبقي الحجم متناسبا تماما مع قرارات ستتخذها فعلا. والثاني النطاق: فإذا أردت أيضا صوت العميل خلف الأسعار، تعمل Amazon Reviews Scraper بنموذج الدفع حسب النتيجة بدءا من 3.00 دولارات لكل 1,000 مراجعة، أي أن إضافة سحوبات مراجعات أسبوعية لأهم 10 ASIN تكلف بضعة دولارات شهريا. ابدأ ضيقا، وأثبت أن التنبيهات تقود إجراءات، ثم وسّع القائمة بوفر أول قرار تسعير جيد.
توسيعه إلى وولمارت
عندما تعمل حلقة أمازون دون تدخل لأسابيع، تكون الخطوة الطبيعية التالية سعر رف ثانيا للمنتجات نفسها — ووولمارت هو المرشح البديهي، لأن أسعار رفوف المتاجر الكبرى ترسّخ توقعات العملاء عبر الفئات. ولا تتغير البنية أبدا: المجدول نفسه وشكل مجموعة البيانات والتنبيه نفسه، فقط أداة مختلفة خلف المرحلة الثانية. وجّه E-Commerce Scraping Tool إلى روابط منتجات وولمارت، واستمر في الإضافة إلى ملف تاريخ مواز، واربط السلسلتين على العلامة التجارية ومعرفات المنتج.
ويلزمك درسان عمليان مباشرة. أولا، حافظ على انضباط الحقول من سكربت أمازون — الرابط المعياري مفتاح إزالة التكرار، وقيمة السعر مخزنة مع عملتها، والتوفر ملتقط كل تشغيل — لتتراصف صفوف وولمارت عمودا بعمود مع صفوف أمازون ويقرأ سكربت تحليل واحد الاثنين. ثانيا، عاير على الإيقاع نفسه: فإذا عملت أمازون يوميا ووولمارت أسبوعيا، وثّق الإيقاع في كل ملف وإلا أوحى الرسم البياني المشترك بدقة غير موجودة. ويمنحك دليل قوالب وولمارت وإيباي خرائط الحقول الدقيقة ومدخلات النسخ الجاهزة لذلك الجانب، ويغطي دليل كشط المتاجر نمط الربط متعدد المواقع بتعمق.
وثمرة الأداة الإضافية صورة سعرية كاملة لكل منتج: سعر رف أمازون وسعر رف وولمارت — ومع كاشطة المراجعات مشاعر العملاء التي تفسر تباينهما. وهذه هي مجموعة البيانات التي تستمد منها قرارات إعادة التسعير ورهانات التشكيل وتحديثات محتوى التسويق بالعمولة، مبنية من سكربت واحد تفهمه جيدا.
موارد ذات صلة
الأسئلة الشائعة
كم تبلغ تكلفة تتبع أسعار أمازون باستخدام Apify؟
هل أتتبع الأسعار باستخدام ASIN أم كلمات البحث؟
كم مرة يجب أن يعمل متتبع أمازون؟
هل يمكنني تتبع المراجعات والمشاعر مع الأسعار؟
الكاتب: ParseFlow
فريق التحرير في ParseFlow يتألف من خبراء في استخراج بيانات الويب والأتمتة. نحن نختبر ونراجع باستمرار أدوات Apify لضمان تقديم أفضل التوصيات العملية وأكثرها دقة.
اقرأ إرشاداتنا التحريرية ←🛠️ الأدوات المقترحة
أداة سحب تقييمات أمازون
استخرج تقييمات المنتجات والتقييمات وآراء العملاء من أمازون. ضروري لتحليل المنافسين وتتبع المشاعر. بدون برمجة — شغّل الأداة على السحابة وحمّل بياناتك فورًا.
أداة سحب أمازون
استخرج تفاصيل المنتجات والأسعار والمراجعات ومعلومات البائعين من أمازون حول العالم. مثالي للمسوقين والباحثين: ابدأ السحب المجاني اليوم.
الوسوم
ParseFlow
استوديو سحب البيانات والأتمتة
سنوات من الخبرة العملية في بناء وصيانة أدوات سحب البيانات. ننشر أدوات حقيقية ومستخدمة فعلياً على متجر Apify تحت علامة Website Harvester — بما في ذلك أداة Articles Extractor — إلى جانب فهرسة ومراجعة نظام Apify الأوسع هنا في ParseFlow.