প্রকল্প সম্পর্কে
Scrapling হলো পাইথনের জন্য একটি অ্যাডাপটিভ ওয়েব স্ক্র্যাপিং ফ্রেমওয়ার্ক, যা একক-পৃষ্ঠার রিকোয়েস্ট থেকে শুরু করে পূর্ণ-স্কেলের কনকারেন্ট ক্রল পর্যন্ত সবকিছু কভার করে। এটি এমন ডেভেলপার ও ওয়েব স্ক্র্যাপারদের জন্য ডিজাইন করা হয়েছে যাদের সাইট পরিবর্তিত হলে বারবার সিলেক্টর পুনর্লিখন না করেই স্থিতিস্থাপক ডেটা এক্সট্রাকশন প্রয়োজন।
মূল সক্ষমতাগুলোর মধ্যে রয়েছে:
- অ্যাডাপটিভ পার্সিং: পার্সার এলিমেন্টের অবস্থান মনে রাখে এবং ওয়েবসাইট রিডিজাইনের পর সিমিলারিটি-ভিত্তিক ম্যাচিং ব্যবহার করে সেগুলো পুনরায় খুঁজে বের করতে পারে, যেখানে স্থিতিস্থাপক CSS সিলেকশনের জন্য adaptive=True বা auto_save=True-এর মতো অপশন রয়েছে।
- নমনীয় ফেচার: HTTP ফেচার যা ব্রাউজার TLS ফিঙ্গারপ্রিন্ট ও হেডার নকল করতে পারে, ডাইনামিক পেজের জন্য ব্রাউজার-অটোমেশন ফেচার, এবং Cloudflare Turnstile-এর মতো সাধারণ অ্যান্টি-বট সিস্টেম বাইপাসের লক্ষ্যে একটি স্টেলথ ফেচার। সব ফেচারেই অ্যাসিঙ্ক ভ্যারিয়েন্ট এবং পার্সিস্টেন্ট সেশন ক্লাস রয়েছে।
- পূর্ণ স্পাইডার ফ্রেমওয়ার্ক: start_urls, অ্যাসিঙ্ক parse কলব্যাক, কনকারেন্ট ক্রলিং, প্রতি-ডোমেইন থ্রটলিং, পজ/রিজিউম চেকপয়েন্ট, স্ট্রিমিং আইটেম আউটপুট, ব্লকড-রিকোয়েস্ট ডিটেকশন, স্বয়ংক্রিয় থ্রটলিং, robots.txt সাপোর্ট, এবং ক্যাশ করা রেসপন্স রিপ্লে করার একটি ডেভেলপমেন্ট মোডসহ Scrapy-সদৃশ API।
- প্রক্সি ও সেশন ম্যানেজমেন্ট: বিল্ট-ইন প্রক্সি রোটেশন, প্রতি-রিকোয়েস্ট প্রক্সি ওভাররাইড, DNS-over-HTTPS-এর মাধ্যমে DNS-লিক প্রতিরোধ, এবং CDP-এর মাধ্যমে রিমোট ব্রাউজারে ঐচ্ছিক সংযোগ।
- AI ও এজেন্ট ইন্টিগ্রেশন: একটি MCP সার্ভার AI অ্যাসিস্ট্যান্টদের HTTP, ডাইনামিক বা স্টেলথ ফেচের মাধ্যমে স্ক্র্যাপ করতে দেয়, ইনজেকশন ঝুঁকি কমাতে পেজ থেকে প্রম্পট সরিয়ে ফেলা হয়; একটি এজেন্ট স্কিল কোডিং এজেন্টদের বর্তমান API ব্যবহারে সহায়তা করে; এবং page.markdown() লুপে কোনো LLM ছাড়াই পরিষ্কার LLM/RAG-রেডি Markdown তৈরি করে।
- ডেভেলপার অভিজ্ঞতা: একটি ইন্টারঅ্যাকটিভ IPython-ভিত্তিক শেল, কোড ছাড়াই CLI স্ক্র্যাপিং, সমৃদ্ধ DOM নেভিগেশন, স্বয়ংক্রিয় সিলেক্টর জেনারেশন, বিল্ট-ইন JSON/JSONL/CSV/XML এক্সপোর্ট, এবং Scrapy কলব্যাকের সাথে ড্রপ-ইন ইন্টিগ্রেশন।
প্রজেক্টটি সম্পূর্ণ টাইপ হিন্ট, স্বয়ংক্রিয় টাইপ চেকিং, সব ব্রাউজারসহ একটি Docker ইমেজ, এবং লাইব্রেরি জুড়ে টেস্ট কভারেজ বজায় রাখে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.