شعار proxyscrape داكن

كشط الويب لمقارنة الأسعار في عام 2024- خطوات سهلة

بايثون, كشط, Mar-06-20245 دقائق للقراءة

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

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

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

سيكون مصدر البيانات الذي سنستخدمه في هذه المقالة هو ملف JSON، وسنقارن أسعار المنتجات التي نحصل عليها من Amazon و eBay و Walmart. تبدو بياناتنا النموذجية كما يلي,

لا تتردد في القفز إلى أي قسم لمعرفة المزيد عن كشط الويب لمقارنة الأسعار في بايثون!

جدول المحتويات

الخطوات المتضمنة في كشط الويب لمقارنة الأسعار:

[
  {
    "last_visited": "2018-01-30T13:38:01",
    "name": "PUMA Men's Evospeed 17.4 TT Soccer Shoe",
    "amazon_price": 36.94,
    "ebay_price": 37,
    "walmart_price": 37,
    "amazon_url": "https://www.amazon.com/PUMA-Evospeed-Soccer-Ultra-Yellow-Peacoat-Orange/dp/B01J5LEMZI/",
    "ebay_url": "https://www.ebay.com/itm/PUMA-Mens-Evospeed-17-4-Tt-Soccer-Shoe/302471489090",
    "walmart_url": "https://www.walmart.com/ip/PUMA-Men-s-Evospeed-17-4-Tt-Soccer-Shoe/587074448",
    "description": "The new evospeed 17.4 is a performance football boot for players of all levels. The soft and lightweight synthetic leather on the upper keeps the boot lightweight, comfortable and ensures durability. The lightweight outsole offers the perfect balance between traction, stability and acceleration PUMA is the global athletic brand that successfully fuses influences from sport, lifestyle and fashion. PUMA's unique industry perspective delivers the unexpected in sport-lifestyle footwear, apparel and accessories, through technical innovation and revolutionary design.",
    "brand": "PUMA",
    "image": "https://images-na.ssl-images-amazon.com/images/I/61v1mylcAqL._UL1500_.jpg"
  },
  {
    "last_visited": "2018-01-30T13:38:07",
    "name": "L'Oreal Paris Skin Care Revitalift Cicacream Face Moisturizer",
    "amazon_price": 13.97,
    "ebay_price": 13.99,
    "walmart_price": 13.97,
    "amazon_url": "https://www.amazon.com/LOreal-Paris-Revitalift-Cicacream-Moisturizer/dp/B074MBDRHW",
    "ebay_url": "https://www.ebay.com/itm/LOREAL-Paris-NEW-Revitalift-Cicacream-Anti-Wrinkle-Skin-Barrier-Repair-ORIGINAL/112715734801",
    "walmart_url": "https://www.walmart.com/ip/L-Or-al-Paris-Revitalift-Cicacream-Anti-Wrinkle-Skin-Barrier-Repair/519350834",
    "description": "Skin's moisture barrier weakens with age, resulting in greater moisture loss, more prominent wrinkles and loss of firmness. Lightweight, protective cream is formulated with Pro-Retinol, a powerful wrinkle-fighting ingredient and Centella Asiatica, an herb used in traditional Chinese medicine. Strengthens and repairs skin barrier to help resist visible lines, loss of firmness and other signs of aging that a weakened skin barrier can accentuate. See visible results immediately: skin feels healthier, softer, smoother and more supple. Skin feels noticeably more hydrated. Skin barrier is stronger, helping to resist signs of aging. In two weeks: fine lines appear visibly reduced. Firmness and elasticity look noticeably improved. In four weeks: wrinkles appear less visible. Clarity and tone improves, skin exudes luminosity. Skin continues to look and feel soft, smooth, healthy.",
    "brand": "L'Oreal Paris",
    "image": "https://images-na.ssl-images-amazon.com/images/I/71Ff2vn4vjL._SL1500_.jpg"
  },
  {
    "last_visited": "2018-01-30T13:38:12",
    "name": "Adidas Dynamic Pulse By Adidas For Men",
    "amazon_price": 6.96,
    "ebay_price": 18.99,
    "walmart_price": 7,
    "amazon_url": "https://www.amazon.com/Adidas-Dynamic-Toilette-3-4-Ounce-Bottle/dp/B000VON5F2/",
    "ebay_url": "https://www.ebay.com/itm/Adidas-DYNAMIC-PULSE-Cologne-for-Men-3-4-oz-edt-3-3-Spray-New-in-BOX/252837623533",
    "walmart_url": "https://www.walmart.com/ip/Adidas-Dynamic-Pulse-for-Men-3-4-oz-EDT/28664356",
    "description": "Launched by the design house of Adidas in 1997, ADIDAS DYNAMIC PULSE is a men's fragrance that possesses a blend of A fresh scent of citrus, cedar and mint with low tones of sweet fruits, fragrant woods and tonka bean. It is recommended for daytime wear.When applying any fragrance please consider that there are several factors which can affect the natural smell of your skin and, in turn, the way a scent smells on you. For instance, your mood, stress level, age, body chemistry, diet, and current medications may all alter the scents you wear. Similarly, factor such as dry or oily skin can even affect the amount of time a fragrance will last after being applied",
    "brand": "adidas",
    "image": "https://images-na.ssl-images-amazon.com/images/I/41%2BAnOP5nbL.jpg"
  },
  {
    "last_visited": "2018-01-30T13:38:19",
    "name": "Canon EOS Rebel T6 Digital SLR Camera",
    "amazon_price": 449,
    "ebay_price": 449,
    "walmart_price": 449,
    "amazon_url": "https://www.amazon.com/Canon-Digital-Camera-18-55mm-3-5-5-6/dp/B01CO2JPYS",
    "ebay_url": "https://www.ebay.com/itm/Canon-EOS-Rebel-T6-DSLR-Camera-with-18-55mm-Lens/232596041502",
    "walmart_url": "https://www.walmart.com/ip/Canon-EOS-Rebel-T6-DSLR-Camera-with-18-55mm-Lens-Black/50820749",
    "description": "",
    "brand": "Canon",
    "image": "https://images-na.ssl-images-amazon.com/images/I/81YszfZS8%2BL._SL1500_.jpg"
  },
  {
    "last_visited": "2018-01-30T13:38:25",
    "name": "Woodland Fox Critter 36' Mylar Balloon",
    "amazon_price": 5.49,
    "ebay_price": 6.49,
    "walmart_price": 7.6,
    "amazon_url": "https://www.amazon.com/Woodland-Fox-Critter-Mylar-Balloon/dp/B00S9TKVYO",
    "ebay_url": "https://www.ebay.com/itm/Woodland-Critters-Fox-36-inch-Foil-Balloon/132058119680",
    "walmart_url": "https://www.walmart.com/ip/Woodland-Fox-Foil-Balloon/43350002",
    "description": "Celebrate any occasion with an adorable woodland fox critter balloon! 36\" Woodland Critters fox shape foil balloon.",
    "brand": "Betallic",
    "image": "https://images-na.ssl-images-amazon.com/images/I/71Z9bG-BzuL._SL1500_.jpg"
  }
]

بعض الحقول المهمة ذات الصلة بالبرنامج النصي الذي نكتبه هي amazon_price و ebay_price و walmart_price.

لقد رأينا الآن بياناتنا. لذا دعونا ننتقل إلى مرحلة التطوير.

سنصنع الأداة في Python 3.x، وقبل كل شيء، سنستخدم مكتبة JSON لتحليل JSON والمعالجة الإضافية. توفر الأداة وظائف مذهلة من خلال طباعة اسم المنتج وسعر الموقع. سنستورد مكتبة JSON لتحليل JSON.

استيراد json

الآن سنستدعي الدالة open() في مقتطف الشيفرة لقراءة المحتوى من ملف JSON,

استيراد json
 
إذا __name__ = = '__main__':
    price_data = لا شيء
    السعر = []
   مع فتح('data.json', encoding='utf8') باسم f:
        price_data = f.read()
 
   إذا لم يكن price_data لا شيء:
       json_price_data = json.loads.loads(price_data)

الآن بعد قراءة بيانات JSON الخاصة بنا، سنقوم بتحويلها إلى بنيات بيانات بايثون المدمجة التي ستستدعي الشيفرة طريقة json.loads() لتحويل سلسلة JSON إلى قاموس أو قائمة قواميس، اعتمادًا على الإدخالات.

نظرًا لأن الهدف الرئيسي هو العثور على المتجر الذي يبيع المنتج بأقل سعر، فإن هدفنا هو العثور على الحد الأدنى للسعر والتفاصيل الأخرى ذات الصلة مثل المنتج واسم المتجر. يتم تخزين معلومات سعر المتجر ذي الصلة في مفاتيح amazon_price و ebay_price و Walmart_price. للعثور على الحد الأدنى لكل منتج، نحتاج إلى تكرار عناصر قائمة الأسعار.

for d in json_price_data:
            price.append({'name': d['name'], 'price': float(d['amazon_price']), 'url': d['amazon_url']})
            price.append({'name': d['name'], 'price': float(d['walmart_price']), 'url': d['walmart_url']})
            price.append({'name': d['name'], 'price': float(d['ebay_price']), 'url': d['ebay_url']})
            minPricedItem = min(price, key=lambda x: x['price'])
            print(minPricedItem)
            print('=================')
            price = []

نحن نستخدم lambdas ونقوم بتعيين مفتاح min() للتأكد من مقارنة حقل السعر. ينتج الناتج التالي:

دعونا نعيد هيكلة الشكل قليلاً.

for d in json_price_data:
            price.append({'name': d['name'], 'price': d['amazon_price'], 'url': d['amazon_url']})
            price.append({'name': d['name'], 'price': d['walmart_price'], 'url': d['walmart_url']})
            price.append({'name': d['name'], 'price': d['ebay_price'], 'url': d['ebay_url']})
            minPricedItem = min(price, key=lambda x: float(x['price']))
            store_name = ''
            # Pick the store name based on url
            if 'amazon' in minPricedItem['url'].lower():
                store_name = 'Amazon'
            elif 'walmart' in minPricedItem['url'].lower():
                store_name = 'Amazon'
            elif 'ebay' in minPricedItem['url'].lower():
                store_name = 'eBay'
            print('{} is available in cheap price at {}. The price is ${}'.format(minPricedItem['name'], store_name,
                                                                                 minPricedItem['price']))
            price = []

سيعطي الناتج التالي:

تهانينا! لقد نجحنا في إنشاء البرنامج النصي الذي يمكنك تشغيله بشكل دوري للحصول على الأسعار المحدثة للمنتج.

ما هو أفضل وكيل لكشط الويب لمقارنة الأسعار باستخدام بايثون؟

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

البروكسي المخصص لمركز البيانات هو الأنسب للمهام عالية السرعة عبر الإنترنت، مثل بث كميات كبيرة من البيانات (من حيث الحجم) من خوادم مختلفة لأغراض التحليل. وهو أحد الأسباب الرئيسية التي تجعل المؤسسات تختار البروكسي المخصص لنقل كميات كبيرة من البيانات في فترة زمنية قصيرة.

يحتوي وكيل مركز البيانات المخصص على العديد من الميزات، مثل النطاق الترددي غير المحدود والاتصالات المتزامنة، ووكلاء HTTP المخصصين لسهولة الاتصال، ومصادقة IP لمزيد من الأمان. مع وقت تشغيل بنسبة 99.9%، يمكنك أن تطمئن إلى أن مركز البيانات المخصص سيعمل دائمًا خلال أي جلسة. وأخيراً وليس آخراً، يقدم ProxyScrape خدمة عملاء ممتازة وسيساعدك على حل مشكلتك خلال 24-48 ساعة عمل. 

التالي هو الوكيل السكني. السكني هو الوكيل المفضل لكل مستهلك عام. السبب الرئيسي هو أن عنوان IP الخاص بالوكيل السكني يشبه عنوان IP الذي يوفره مزود خدمة الإنترنت. وهذا يعني أن الحصول على إذن من الخادم المستهدف للوصول إلى بياناته سيكون أسهل من المعتاد. 

الميزة الأخرى في البروكسي السكني ProxyScrapeهي خاصية البروكسي الدوار. يساعدك البروكسي الدوّار على تجنب الحظر الدائم على حسابك لأن البروكسي السكني يغير عنوان IP الخاص بك ديناميكيًا، مما يجعل من الصعب على الخادم المستهدف التحقق مما إذا كنت تستخدم وكيلًا أم لا. 

وبصرف النظر عن ذلك، فإن الميزات الأخرى للوكيل السكني هي: نطاق ترددي غير محدود، إلى جانب الاتصال المتزامن، وخوادم بروكسي HTTP/ث مخصصة، وخوادم بروكسي في أي وقت بسبب وجود أكثر من 7 ملايين بروكسي في تجمع البروكسي، ومصادقة اسم المستخدم وكلمة المرور لمزيد من الأمان، وأخيرًا وليس آخرًا، القدرة على تغيير الخادم القطري. يمكنك تحديد الخادم الذي تريده عن طريق إلحاق رمز البلد بمصادقة اسم المستخدم. 

الأخير هو الوكيل المتميز. الوكلاء المتميزون هم نفس وكلاء مركز البيانات المخصصين. تظل الوظيفة كما هي. الفرق الرئيسي هو إمكانية الوصول. في الوكلاء المتميزين، يتم توفير قائمة الوكلاء (القائمة التي تحتوي على وكلاء) لكل مستخدم على شبكة ProxyScrape. هذا هو السبب في أن تكلفة البروكسيات المتميزة أقل من تكلفة البروكسيات المخصصة لمراكز البيانات.

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

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

قراءات مقترحة:

كشط تعليقات يوتيوب - 5 خطوات بسيطةأفضل 8 أدوات لكشط الويب باستخدام بايثون في عام 2023كشط الويب للمقالات الإخبارية باستخدام بايثون - أفضل طريقة في عام 2023

الأسئلة الشائعة:

1. ما هو تجريف الأسعار؟
كشط الأسعار، كما يوحي الاسم، هو عملية استخراج سعر منتج أو خدمة عبر الإنترنت لإجراء أي تحليل، مثل تحليل المنافسين، لتحسين استراتيجية التسويق. يمكن أن تساعدك أتمتة عملية الكشط على تقليل الوقت والموارد، ويمكنك القيام بذلك بمساعدة برنامج بايثون.
2. ما هو أفضل وكيل لكشط الويب لمقارنة الأسعار؟
أفضل بروكسي لإجراء كشط الويب لمقارنة الأسعار هو "البروكسي السكني". والسبب هو أن الوكيل السكني هو وكيل دوار، مما يعني أن عنوان IP الخاص بك سيتغير ديناميكيًا على مدى فترة من الزمن، مما قد يكون مفيدًا لخداع الخادم عن طريق إرسال الكثير من الطلبات في إطار زمني صغير دون الحصول على حظر IP.
3. هل تجريف الويب لمقارنة الأسعار قانوني؟
الإجابة هي نعم. يمكنك كشط السعر من موقع التجارة الإلكترونية نظرًا لأن جميع المعلومات متاحة للجمهور، مما يعني أنه يمكن كشط جميع البيانات العامة.

الخاتمة

This article explored one more wonder of web scraping, i.e. “Price Comparison”. Not only this, we have built a tool that can do the price comparison job for you and keep you updated with the market trends. This article hopes to give enough information on web scraping for price comparison in an easy way. A proxy server is the best companion for web scraping. ProxyScrape provides best in a class residential proxy for your web scraping for price comparison projects. You can check the best residential proxy here.