বিউটিফুলসৌপ এবং স্কেরিপি ক্রলারের মধ্যে পার্থক্য?


134

আমি এমন একটি ওয়েবসাইট তৈরি করতে চাই যা আমাজন এবং ই-বে পণ্যর দামের মধ্যে তুলনা দেখায়। এর মধ্যে কোনটি আরও ভাল কাজ করবে এবং কেন? আমি বিউটিফুলসুপের সাথে কিছুটা পরিচিত তবে স্কেরাপি ক্রলারের সাথে তেমন কিছু নেই


6
এই দুটি সাইটের দুর্দান্ত এপিআই থাকলে আপনি কেন ক্রলার ব্যবহার করবেন? aws.amazon.com/python developer.ebay.com/common/api
রোজ

5
আমি ভারত থেকে এসেছি এবং আমি মনে করি আমাজন-এপি ভারত হোস্টকে সমর্থন করে না। ভারতের জন্য কোনও এপিআই (লোকাল) নেইHOSTS = {'ca': 'ecs.amazonaws.ca', 'cn': 'webservices.amazon.cn', 'de': 'ecs.amazonaws.de', 'এস': 'ওয়েবসার্ভিস.ম্যাজন.স' , 'fr': 'ecs.amazonaws.fr', 'এটি': 'ওয়েবসার্ভিস.মাজোন.আইটি', 'জেপি': 'ইসি.সামাজাওনস.জপি', 'ইউকে': 'ইসি.সামাজোনাওস.কম' , 'আমাদের': 'ecs.amazonaws.com',}
নিশান্ত ভক্ত

11
এবং আমি যদি এমন কোনও অন্য সাইট ক্রল করতে চাই যেখানে এপিআই নেই?
নিশান্ত ভক্ত

@ ইনবাররোজ অ্যামাজনের প্রোডাক্ট এপিআই ব্যবহার করে একটি অ্যামাজন অ্যাসোসিয়েট অ্যাকাউন্ট প্রয়োজন।
জাচারি রায়ান স্মিথ

উত্তর:


231

স্কেরাপি একটি ওয়েব-স্পাইডার বা ওয়েব স্ক্র্যাপার কাঠামো , আপনি স্ক্রাপিকে ক্রলিং শুরু করার জন্য একটি মূল ইউআরএল দেন, তারপরে আপনি কতগুলি (সংখ্যা) ইউআরএল ক্রল করতে এবং আনতে চান তার সীমাবদ্ধতা নির্দিষ্ট করতে পারেন। এটি ওয়েব-স্ক্র্যাপিং বা ক্রলিংয়ের জন্য একটি সম্পূর্ণ কাঠামো ।

যদিও

বিউটিফুলসপ একটি পার্সিং লাইব্রেরি যা ইউআরএল থেকে সামগ্রী আনতে খুব ভাল কাজ করে এবং আপনাকে কোনও ঝামেলা ছাড়াই সেগুলির কিছু অংশ পার্স করতে দেয়। এটি কেবলমাত্র আপনার দেওয়া URL এর সামগ্রীগুলি আনে এবং তারপরে বন্ধ হয়ে যায়। আপনি ম্যানুয়ালি নির্দিষ্ট মানদণ্ড সহ অসীম লুপের ভিতরে না রাখলে এটি ক্রল হয় না।

সহজ কথায়, বিউটিফুল স্যুপ দিয়ে আপনি স্কেরাপির মতো কিছু তৈরি করতে পারেন। বিউটিফুল স্যুপ একটি লাইব্রেরি যেখানে স্কেরাপি একটি সম্পূর্ণ কাঠামো

উৎস


1
কোনটি দ্রুত, মানে আমি বিউটিফুলসপ ব্যবহার করছি এবং ডেটা স্ক্র্যাপ করতে 10 সেকেন্ড লাগবে? সুন্দরী স্যুপের চেয়ে দ্রুত স্ক্র্যাপি করতে পারে?
shuboy2014

আপনি যদি ব্লকিং কোড সহ বিউটিসুপ ব্যবহার করেন, তবে স্বাধীনভাবে অনুরোধ করার জন্য স্কেরাপির তত দ্রুত হওয়া উচিত, তবে আমার ধারণা আপনি আরও ভাল পারফরম্যান্স অর্জনের জন্য অ্যাসিনসিওর সাথে সুন্দরদ্বীপটি ব্যবহার করতে পারেন।
ডায়ারে

আমি বলব, বিউটিফুলসপ সহ স্কেরাপিটি দ্রুততর হবে এবং আপনি উভয়ের মধ্যে সেরাটি অর্জন করতে সক্ষম হবেন।
রাহুল

18

আমি মনে করি উভয়ই ভাল ... আমি এখনই একটি প্রকল্প করছি যা উভয়ই ব্যবহার করে। প্রথমে আমি সমস্ত পৃষ্ঠাগুলি স্কেরাপি ব্যবহার করে স্ক্র্যাপ করি এবং সেগুলির পাইপলাইন ব্যবহার করে একটি মঙ্গোদব সংগ্রহের মধ্যে সংরক্ষণ করি এবং পৃষ্ঠায় বিদ্যমান চিত্রগুলি ডাউনলোড করে। এর পরে আমি একটি পোস্ট-প্রসেসিং তৈরি করতে বিউটিউলসৌপ 4 ব্যবহার করি যেখানে আমার অবশ্যই গুণাবলী মানগুলি পরিবর্তন করতে হবে এবং কিছু বিশেষ ট্যাগ পেতে পারি।

আপনি কোন পৃষ্ঠাগুলির পণ্যগুলি চান তা যদি না জানেন তবে একটি ভাল সরঞ্জাম হ'ল চিকিত্সা হবে কারণ আপনি লুপের জন্য স্পষ্ট না করে পণ্যগুলির সন্ধানে সমস্ত অ্যামাজন / ইবে ওয়েবসাইট চালাতে তাদের ক্রলারগুলি ব্যবহার করতে পারেন।

স্কেরাপির ডকুমেন্টেশনগুলি একবার দেখুন, এটি ব্যবহার করা খুব সহজ।


তাই আমি ওয়েব সার্ভারে স্কেরাপি ব্যবহার করতে পারি কারণ এর অনেকগুলি নির্ভরতা রয়েছে যেমন (বাঁকানো, পাইউইন 32, পাইওপেনএসএল এবং ..)। (এই নির্বোধ প্রশ্নের জন্য দুঃখিত, আমি অজগর থেকে নতুন)
নিশান্ত ভক্ত

ওয়েব সার্ভারে? আমি কখনই এটি চেষ্টা করি না ... আমি এটি শেলটিতে ব্যবহার করি, মাকড়সা চালানোর জন্য "স্ক্রেরি ক্রল <ক্রোলারের নাম>" প্রয়োগ করি ... সম্ভবত আপনি এটি সার্ভারে ব্যবহার করতে পারেন, তবে আপনাকে অজগরটি ব্যবহার করে এটি কল করতে হবে সাবপ্রসেস মডিউল ( docs.python.org/2/library/subprocess.html )। যেমন আমি বলেছি এটি কখনও চেষ্টা করবেন না, তবে সম্ভবত এটি কাজ করতে পারে ... কেবলমাত্র একটি নোট, আপনার ক্রলারে কোথায় ইরোর হতে পারে তা জানতে (স্ক্র্যাপি আমদানি লগ থেকে) স্ক্র্যাপি থেকে লগ বার্তাটি ব্যবহার করুন।
rdenadai

4

উভয়ই ডেটা পার্স করতে ব্যবহার করছে।

থেরাপি :

  • স্কেরাপি একটি দ্রুত উচ্চ-স্তরের ওয়েব ক্রলিং এবং ওয়েব স্ক্র্যাপিং ফ্রেমওয়ার্ক যা ওয়েবসাইটগুলি ক্রল করার জন্য এবং তাদের পৃষ্ঠাগুলি থেকে কাঠামোগত ডেটা আহরণের জন্য ব্যবহৃত হয়।
  • তবে জাভা স্ক্রিপ্ট বা লোডিং ডায়নামিক্যালি থেকে ডেটা আসে তখন এর কিছু সীমাবদ্ধতা থাকে, আমরা স্প্ল্যাশ, সেলেনিয়াম ইত্যাদি প্যাকেজগুলি ব্যবহার করে এটি আসতে পারি we

বিউটিউসসপ :

  • বিউটিফুল স্যুপ হ'ল এইচটিএমএল এবং এক্সএমএল ফাইলগুলির বাইরে ডেটা টানানোর জন্য পাইথন লাইব্রেরি।

  • আমরা এই প্যাকেজটি জাভা স্ক্রিপ্ট থেকে ডেটা পেতে বা গতিশীল পাতাগুলি লোড করার জন্য ব্যবহার করতে পারি।

স্ট্যাটিক এবং গতিশীল বিষয়বস্তুগুলি স্ক্র্যাপ করার জন্য আমরা কাজ করতে পারি এমন একটি সেরা কম্বো হ'ল বিউটিফুলসুপের সাথে স্কেরাপি


2

আমি যেভাবে এটি করি তা হ'ল স্ক্রাপির পরিবর্তে ইবে / অ্যামাজন এপিআই ব্যবহার করা এবং তারপরে বিউটিফুলসুপ ব্যবহার করে ফলাফলগুলি পার্স করা।

আপনার পরিচয় গোপন করা, প্রক্সিগুলির সাথে জগাখিচুড়ি ইত্যাদির বিষয়ে উদ্বিগ্ন হওয়া নিয়ে কোনও চিন্তা করার দরকার নেই, এপিআইগুলি আপনাকে স্ক্র্যাপি ক্রলারের কাছ থেকে পাওয়া একই ডেটা পাওয়ার আনুষ্ঠানিক উপায় দেয়।


8
প্রশ্নটি স্পষ্টভাবে সমাধানগুলির জন্য জিজ্ঞাসা করে যেখানে API গুলি উপলব্ধ নেই।
রোহানিল

2

স্কেরাপি এটি একটি ওয়েব স্ক্র্যাপিং ফ্রেমওয়ার্ক যা অনেকগুলি গুডি নিয়ে আসে যা সহজেই স্ক্র্যাপিংকে সহজ করে দেয় যাতে আমরা কেবল ক্রলিংয়ের যুক্তিতে ফোকাস করতে পারি। আমার পছন্দের কয়েকটি জিনিস থেরাপি আমাদের যত্ন নেয় নিচে রয়েছে।

  • ফিড রফতানি : এটি মূলত আমাদের সিএসভি, জেএসএন, জসনলাইনস এবং এক্সএমএল যেমন বিভিন্ন ফর্ম্যাটে ডেটা সংরক্ষণ করতে দেয়।
  • অ্যাসিনক্রোনাস স্ক্র্যাপিং: স্কেরাপিটি মোড়যুক্ত কাঠামো ব্যবহার করে যা আমাদের একযোগে একাধিক ইউআরএল দেখার ক্ষমতা দেয় যেখানে প্রতিটি অনুরোধটি অবরুদ্ধকরণ পদ্ধতিতে প্রক্রিয়া করা হয় (মূলত আমাদের অন্য অনুরোধ প্রেরণের আগে একটি অনুরোধ শেষ করার অপেক্ষা করতে হবে না)।
  • নির্বাচনকারীরা : আমরা এখানে সুন্দর স্যুপের সাথে স্কেরাপির তুলনা করতে পারি। নির্বাচকরা হ'ল ওয়েবপৃষ্ঠা থেকে শিরোনাম, শ্রেণীর নামের সাথে নির্দিষ্ট ডিভি ইত্যাদি ইত্যাদি নির্দিষ্ট ডেটা নির্বাচন করার অনুমতি দেয় allow স্কেরাপি পার্সিংয়ের জন্য lxML ব্যবহার করে যা সুন্দর স্যুপের চেয়ে অত্যন্ত দ্রুত।
  • প্রক্সি, ব্যবহারকারী এজেন্ট, শিরোলেখ ইত্যাদি সেট করা: স্কেরাপি আমাদের প্রক্সি এবং অন্যান্য শিরোনামকে গতিশীলভাবে সেট এবং ঘোরাতে দেয়।

  • আইটেম পাইপলাইনস : পাইপলাইনগুলি নিষ্কাশনের পরে ডেটা প্রক্রিয়া করতে আমাদের সক্ষম করে। উদাহরণস্বরূপ আমরা আপনার মাইএসকিএল সার্ভারে ডেটা ধাক্কা দিতে পাইপলাইনটি কনফিগার করতে পারি।

  • কুকিজ: স্কেরাপি আমাদের জন্য স্বয়ংক্রিয়ভাবে কুকিজ পরিচালনা করে।

প্রভৃতি

টিএলডিআর: স্কেরাপি এমন একটি কাঠামো যা এমন সমস্ত কিছু সরবরাহ করে যা বড় আকারের ক্রলগুলি তৈরি করতে প্রয়োজন হতে পারে। এটি বিভিন্ন বৈশিষ্ট্য সরবরাহ করে যা ওয়েবগুলিকে ক্রল করার জটিলতা আড়াল করে। সেটআপ বোঝা নিয়ে চিন্তা না করেই কেবল ওয়েব ক্রলারগুলি লেখা শুরু করা যায়।

বিউটিফুল স্যুপ বিউটিফুল স্যুপ এইচটিএমএল এবং এক্সএমএল ডকুমেন্টগুলি পার্স করার জন্য একটি পাইথন প্যাকেজ। বিউটিফুল স্যুপ দিয়ে আপনি ইতিমধ্যে ডাউনলোড করা ওয়েবপৃষ্ঠাটি পার্স করতে পারেন। BS4 খুব জনপ্রিয় এবং পুরানো। থেরাপির বিপরীতে, আপনি কেবল ক্রলার তৈরি করতে সুন্দর স্যুপ ব্যবহার করতে পারবেন না । বিএস 4 দিয়ে ক্রোলার তৈরি করতে আপনার অন্যান্য গ্রন্থাগারগুলির অনুরোধ হবে যেমন অনুরোধ, urllib ইত্যাদি। আবার, এর অর্থ হ'ল আপনার url গুলির ক্রল হওয়া, ক্রল হওয়া, কুকিজ পরিচালনা করা, প্রক্সি পরিচালনা করা, ত্রুটিগুলি পরিচালনা করা, সিএসভি, জেএসএন, এক্সএমএল ইত্যাদিতে ডেটা ঠেকাতে আপনার নিজস্ব ক্রিয়াকলাপ তৈরি করা দরকার যদি আপনি গতি বাড়িয়ে নিতে চান মাল্টিপ্রসেসিংয়ের মতো আপনাকে অন্যান্য লাইব্রেরি ব্যবহার করতে হবে তার চেয়ে বেশি

যোগফল।

  • স্কেরাপি একটি সমৃদ্ধ কাঠামো যা আপনি কোনও ঝামেলা ছাড়াই ক্রলারের লেখা শুরু করতে ব্যবহার করতে পারেন।

  • সুন্দর স্যুপ একটি লাইব্রেরি যা আপনি কোনও ওয়েবপৃষ্ঠা বিশ্লেষণ করতে ব্যবহার করতে পারেন। এটি ওয়েব স্ক্র্যাপ করতে একা ব্যবহৃত হতে পারে না।

আপনার অ্যামাজন এবং ই-বে পণ্য মূল্য তুলনা ওয়েবসাইটের জন্য অবশ্যই আপনার অবশ্যই স্কেরিপি ব্যবহার করা উচিত। আপনি ইউআরএলগুলির একটি ডেটাবেস তৈরি করতে এবং ক্রোলারটি প্রতিদিন চালাতে পারেন (ক্রোন জবস, ক্রোলিংয়ের সময়সূচীর জন্য সেলারি) এবং আপনার ডাটাবেসে দাম আপডেট করতে পারেন your এইভাবে আপনার ওয়েবসাইটটি সর্বদা ডাটাবেস থেকে টানবে এবং ক্রলার এবং ডাটাবেস পৃথক উপাদান হিসাবে কাজ করবে।


1

বিউটিফুলসপ একটি লাইব্রেরি যা আপনাকে একটি ওয়েব পৃষ্ঠা থেকে তথ্য বের করতে দেয়।

অন্যদিকে স্কেরাপি হ'ল একটি কাঠামো, যা উপরের কাজটি করে এবং ডেটা সংরক্ষণের জন্য পাইপলাইনের মতো আপনার স্ক্র্যাপিং প্রজেক্টে সম্ভবত আপনার আরও অনেক কিছুই প্রয়োজন।

আপনি এই ব্লগটি স্ক্র্যাপি https://www.inkoop.io/blog/web-scraping- using-python-and-scrap/ দিয়ে শুরু করতে চেক করতে পারেন


0

স্কেরাপি ব্যবহার করে আপনি প্রচুর কোড সংরক্ষণ করতে পারেন এবং কাঠামোগত প্রোগ্রামিং দিয়ে শুরু করতে পারেন, যদি আপনি স্ক্যাপির কোনও পূর্ব-লিখিত পদ্ধতি পছন্দ না করেন তবে স্ক্র্যাপি পদ্ধতির জায়গায় বিউটিফুলসপ ব্যবহার করা যেতে পারে। বড় প্রকল্প উভয় সুবিধা গ্রহণ করে।


0

পার্থক্যগুলি অনেকগুলি এবং কোনও সরঞ্জাম / প্রযুক্তি নির্বাচন পৃথক প্রয়োজনের উপর নির্ভর করে।

কয়েকটি বড় পার্থক্য হ'ল:

  1. বিউটিফুলসুপ তুলনামূলকভাবে স্কেরাপির চেয়ে শিখতে সহজ
  2. এক্সটেনশানগুলি, সমর্থন, সম্প্রদায়টি বিউটিফুলসপের চেয়ে স্কেরাপির জন্য বৃহত্তর।
  3. বিউটিফুলসপ একটি পার্সার হিসাবে স্কেরাপিকে স্পাইডার হিসাবে বিবেচনা করা উচিত ।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.