প্রকল্প সম্পর্কে

AnimeLek Scraper হলো একটি Python-ভিত্তিক টুল যা animelek.vip ওয়েবসাইট থেকে ডেটা সংগ্রহ করার জন্য ডিজাইন করা হয়েছে। এটি অ্যানিমে ক্যাটালগের সমস্ত ৮৩টি পৃষ্ঠা নিয়মিতভাবে ক্রল করে, প্রতিটি অ্যানিমের মেটাডেটা (শিরোনাম, পোস্টার, অবস্থা, জেনার, বিবরণ, স্টুডিও, বছর) সংগ্রহ করে, সাথে পর্বের তালিকা, ওয়াচ সার্ভার URL (data-ep-url), এবং প্রতি পর্বের ডাউনলোড লিংক সংগ্রহ করে। স্ক্র্যাপারটি কাঠামোবদ্ধ JSON ফাইল আউটপুট করে: একটি বিস্তৃত `data/animes.json` ফাইল যাতে অ্যানিমে অবজেক্টের একটি অ্যারে থাকে, এবং `data/episodes/` এর অধীনে প্রতিটি পর্বের জন্য আলাদা JSON ফাইল থাকে। এটি অগ্রগতি ট্র্যাক করার জন্য একটি `state.json` ফাইলও বজায় রাখে, যা পুনরায় শুরুযোগ্য রান সক্ষম করে—ব্যবহারকারীরা Ctrl+C দিয়ে নিরাপদে বাধা দিতে পারেন এবং সম্পন্ন আইটেম পুনরায় স্ক্র্যাপ না করেই পুনরায় শুরু করতে পারেন। একটি রোলিং লগ ফাইল (`scraper.log`) কার্যকলাপ রেকর্ড করে। স্থানীয় ব্যবহারের জন্য, টুলটির জন্য Python এবং `requirements.txt`-এ তালিকাভুক্ত নির্ভরতা প্রয়োজন। এটি পাবলিক পৃষ্ঠা আনতে `cloudscraper` এবং `BeautifulSoup` ব্যবহার করে, কোনো পেইড API জড়িত নয়। অ্যান্টি-ডিটেকশন ব্যবস্থার মধ্যে রয়েছে `fake-useragent` এর মাধ্যমে র্যান্ডম User-Agent রোটেশন, অনুরোধের মধ্যে র্যান্ডম বিলম্ব (১.৫–৩.৫ সেকেন্ড), ৪২৯/৫xx ত্রুটিতে এক্সপোনেনশিয়াল ব্যাকঅফ, এবং প্রতি URL-এ সর্বোচ্চ ৪টি রিট্রাই। প্রকল্পটিতে একটি GitHub Actions ওয়ার্কফ্লোও অন্তর্ভুক্ত রয়েছে যা প্রায় প্রতি ৫.৫ ঘণ্টায় স্ক্র্যাপার চালায় (দুটি ক্রন শিডিউল একত্রিত করে)। এটি প্রমাণীকরণের জন্য বিল্ট-ইন `GITHUB_TOKEN` ব্যবহার করে, যার জন্য রিপোজিটরিতে Actions-এর জন্য 'Read and write permissions' সক্ষম থাকা প্রয়োজন। এটি ম্যানুয়াল সিক্রেট ছাড়াই স্বয়ংক্রিয়, নির্ধারিত স্ক্র্যাপিংয়ের অনুমতি দেয়। README-তে অ্যানিমে এবং এপিসোড উভয় ফাইলের জন্য বিস্তারিত JSON স্কিমা প্রদান করা হয়েছে, উদাহরণ সহ কাঠামো চিত্রিত করে। সামগ্রিকভাবে, এই টুলটি animelek.vip থেকে অ্যানিমে ডেটা আর্কাইভ বা বিশ্লেষণ করতে চাওয়া যেকোনো ব্যক্তির জন্য উপযোগী, পুনরায় শুরু করার ক্ষমতা এবং অটোমেশন সমর্থন সহ শক্তিশালী স্ক্র্যাপিং অফার করে।