কম্পিউটার টিউটোরিয়াল

Scrapy স্পাইডার ScrapingHub-এ ডিপ্লয় করুন

Scrapy স্পাইডার

Scrapy স্পাইডার হলো একটি ক্লাস যা ওয়েবসাইটের লিঙ্ক ফলো করে ওয়েবপেজ থেকে তথ্য এক্সট্রাক্ট করার সুবিধা দেয়। এটি মূল ক্লাস जिससे অন্যান্য স্পাইডার ইনহেরিট করতে হবে।

Scrapinghub

Scrapinghub হলো একটি ওপেন সোর্স অ্যাপ্লিকেশন যেখানে Scrapy স্পাইডার চালানো যায়। Scrapinghub ওয়েব কন্টেন্টকে উপযোগী ডেটা/তথ্যে রূপান্তর করে। এটি জটিল ওয়েবপেজ থেকে ডেটা এক্সট্রাক্ট করতে দেয়।

আমরা Scrapinghub ব্যবহার করে Scrapy স্পাইডার ক্লাউডে ডিপ্লয় ও এক্সিকিউট করব।

ধাপ ১ — Scrapy প্রজেক্ট তৈরি

Scrapy ইন্সটল করার পর টার্মিনালে চালান:

$scrapy startproject 

নতুন প্রজেক্টের ডিরেক্টরিতে যান।

ধাপ ২ — Scrapy স্পাইডার লিখুন

টার্গেট ওয়েবসাইটের জন্য একটি স্পাইডার লিখুন, উদাহরণস্বরূপ "quotes.toscrape.com"।

নিচে একটি সিম্পল স্পাইডার:


# scrapy লাইব্রেরি ইম্পোর্ট
import scrapy

class AllSpider(scrapy.Spider):
    crawled = set()
    # স্পাইডার নাম
    name = 'all'
    # শুরুর URL
    start_urls = ['https://www.tutorialspoint.com/']
    
    def __init__(self):
        self.links = []
    
    def parse(self, response):
        self.links.append(response.url)
        for href in response.css('a::attr(href)'):
            yield response.follow(href, self.parse)

ধাপ ৩ — স্পাইডার চালিয়ে আউটপুট সংরক্ষণ

উপরের কোড এক্সিকিউট করলে সকল লিঙ্ক স্ক্রেপ হয়ে links.json ফাইলে সংরক্ষিত হবে। এটি সতত (২৪/৭) চালানোর জন্য ক্লাউডে ডিপ্লয় করতে হবে।

ধাপ ৪ — Scrapinghub-এ একাউন্ট তৈরি

ScrapingHub লগইন পেজে Gmail বা GitHub দিয়ে লগইন করুন। ড্যাশবোর্ডে রিডাইরেক্ট হবে।

Scrapy স্পাইডার ScrapingHub-এ ডিপ্লয় করুন

Create project-এ ক্লিক করে প্রজেক্টের নাম দিন। কোড ক্লাউডে অ্যাড করুন CLI বা GitHub দিয়ে। এখানে shub CLI দিয়ে ডিপ্লয় করব। প্রথমে shub ইন্সটল করুন:

$pip install shub

shub ইনস্টল হলে API কী দিয়ে লগইন করুন (API কী পাবেন https://app.scrapinghub.com/account/apikey থেকে):

$shub login

API কী ঠিক থাকলে লগইন হয়ে যাবে। এখন ডিপ্লয় আইডি দিয়ে ডিপ্লয় করুন (কমান্ড লাইন সেকশনে ৬ ডিজিটের নম্বর দেখতে পাবেন):

$ shub deploy deploy_id

কমান্ড লাইন থেকে হয়ে গেল। এখন Spiders ড্যাশবোর্ডে যেতে রেডি স্পাইডার দেখবেন। স্পাইডার নামে ক্লিক করে Run বাটন চাপুন। এখন ড্যাশবোর্ডে আপনার স্পাইডার দেখতে পাবেন:

Scrapy স্পাইডার ScrapingHub-এ ডিপ্লয় করুন

এক ক্লিকে রানিং প্রগ্রেস দেখবেন, লোকাল মেশিন ২৪/৭ চালাতে হবে না।

  1. উইন্ডোজ ১১/১০-এ রিমোট অ্যাক্সেসের সাথে Always On VPN ডিপ্লয় করুন

  2. Google Cloud Functions-এ Ruby দক্ষতা অর্জন: সিমলেসলি বিল্ড, টেস্ট, এবং ডেপ্লয় করুন

  3. রুবিতে AWS Lambda: এন্ড-টু-এন্ড বিল্ড, টেস্ট এবং ডিপ্লয় গাইড

  4. রুবি অন রেইলস AWS Lambda-তে ডিপ্লয়: ধাপে ধাপে গাইড