প্রকল্প সম্পর্কে
YouTube Transcript API হল YouTube ভিডিওর ট্রান্সক্রিপ্ট এবং সাবটাইটেল পুনরুদ্ধারের জন্য একটি পাইথন লাইব্রেরি। Selenium-ভিত্তিক সমাধানের তুলনায় এটি কোনো হেডলেস ব্রাউজার প্রয়োজন করে না, যার ফলে এটি হালকা এবং ডিপ্লয় করা সহজ হয়। এটি ম্যানুয়ালি তৈরি এবং স্বয়ংক্রিয়ভাবে তৈরি উভয় ধরনের সাবটাইটেলের সাথে কাজ করে।
ইনস্টলেশন pip এর মাধ্যমে সরাসরি করা যায়: `pip install youtube-transcript-api`।
মূল API একটি `YouTubeTranscriptApi` ক্লাস প্রদান করে, যার `fetch()` মেথড একটি YouTube ভিডিও আইডি (সম্পূর্ণ URL নয়) গ্রহণ করে। এটি একটি `FetchedTranscript` অবজেক্ট ফেরত দেয়, যাতে স্নিপেটগুলোর একটি অ্যারে থাকে, প্রতিটি স্নিপেটের টেক্সট, শুরু সময় এবং সময়সীমা সহ। ফলাফলটি ইটারেবল, ইনডেক্সযোগ্য এবং একটি দৈর্ঘ্য রয়েছে।
মূল বৈশিষ্ট্যগুলোর মধ্যে রয়েছে:
- একটি `languages` প্যারামিটার হিসেবে ভাষা কোডের তালিকা (যেমন `['de', 'en']`) পাস করে নির্দিষ্ট ভাষায় ট্রান্সক্রিপ্ট পুনরুদ্ধার করা।
- `preserve_formatting=True` সেট করে ইটালিক এবং বোল্ডের মতো HTML ফরম্যাটিং সংরক্ষণ করা।
- `list()` এর মাধ্যমে একটি ভিডিওর জন্য উপলব্ধ সব ট্রান্সক্রিপ্ট তালিকা করা, তারপর ভাষা বা ট্রান্সক্রিপ্টের ধরন (ম্যানুয়ালি তৈরি বনাম স্বয়ংক্রিয় তৈরি) অনুযায়ী ফিল্টার করা।
- একটি `Transcript` অবজেক্টের `translate()` মেথড ব্যবহার করে বিদ্যমান ট্রান্সক্রিপ্টকে অন্যান্য ভাষায় অনুবাদ করা।
- `formatters` সাবমডিউলের অন্তর্নির্মিত ফরম্যাটারদের মাধ্যমে আউটপুটকে JSON, SRT, WebVTT, CSV বা প্লেইন টেক্সটে ফরম্যাট করা।
- কমান্ড লাইন ব্যবহারের জন্য একটি CLI টুল (`youtube_transcript_api`), যাতে ভাষা, আউটপুট ফরম্যাট, অনুবাদ এবং স্বয়ংক্রিয় বা ম্যানুয়ালি তৈরি সাবটাইটেল বাদ দেওয়ার অপশন রয়েছে।
- ক্লাউড প্রোভাইডার বা উচ্চ অনুরোধ পরিমাণ থেকে আইপি ব্লক এড়াতে প্রক্সি সমর্থন, যার মধ্যে ইন্টিগ্রেটেড Webshare রোটেটিং রেসিডেনশিয়াল প্রক্সি বা জেনেরিক HTTP/SOCKS প্রক্সি কনফিগারেশন অন্তর্ভুক্ত।
প্রকল্পটি YouTube-এর ওয়েব-ক্লায়েন্ট API-এর একটি অডকুমেন্টেড অংশ ব্যবহার করে এবং একটি সতর্কতা দিয়েছে যে যদি YouTube তার অভ্যন্তরীণ ইমপ্লিমেন্টেশন পরিবর্তন করে তবে এটি কাজ করা বন্ধ করতে পারে। এটি MIT-লাইসেন্সের অধীনে রয়েছে এবং PyPI-তে উপলব্ধ।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.