TypeScript:
একটি ওয়েবপেজ ডাউনলোড করা
কিভাবে:
আপনি TypeScript ব্যবহার করে Node.js এবং node-fetch
লাইব্রেরির সাহায্যে একটি ওয়েব পেজ ডাউনলোড করতে পারেন। এইভাবে:
import fetch from 'node-fetch';
async function downloadWebPage(url: string): Promise<void> {
try {
const response = await fetch(url);
const body = await response.text();
console.log(body); // এটি কনসোলে HTML কন্টেন্ট প্রিন্ট করে
} catch (error) {
console.error('Download failed:', error);
}
}
// ফাংশন ব্যবহার করুন
downloadWebPage('https://example.com');
নমুনা আউটপুট (সংক্ষিপ্ত):
<!doctype html>
<html>
<head>
<title>Example Domain</title>
...
</html>
গভীরে যাওয়া
ঐতিহাসিকভাবে, ওয়েব কন্টেন্ট wget
বা curl
এর মতো টুলসের মাধ্যমে কমান্ড-লাইন পরিবেশে ডাউনলোড করা হতো। আধুনিক প্রোগ্রামিংয়ে, তবে, আমাদের জাভাস্ক্রিপ্ট/টাইপস্ক্রিপ্ট অ্যাপ্লিকেশনগুলিতে আরও কার্যকারিতা প্রদান করে এমন node-fetch
, axios
, বা request
(অবসৃত কিন্তু এখনও ব্যবহারে) এর মতো লাইব্রেরি রয়েছে।
ওয়েব পেজ ডাউনলোড করার সময়, শুধু HTML নয়। CSS, জাভাস্ক্রিপ্ট, ইমেজ এবং অন্যান্য সম্পদ এর অংশ হতে পারে। সাধারণত, প্রথমে শুধু HTML নেওয়া হয়, এরপর আপনার পেজ থেকে কি প্রয়োজন তার উপর ভিত্তি করে অন্যান্য প্রসেসিং বা ডাউনলোডিং করা হয়।
বাস্তবায়নের দিক দিয়ে, node-fetch
মূলত Node.js এর জন্য window.fetch API। এটি অনুরোধের প্রতিক্রিয়ার উপর প্রতিশ্রুতির সমাধান করে, আপনাকে একটি টেক্সট স্ট্রিম (.text()), একটি JSON অবজেক্ট (.json()), অথবা এমনকি একটি বাফার (.buffer()) বাইনারি ডেটার জন্য পেতে দেয়।
মনে রাখবেন যে ওয়েব স্ক্র্যাপিং অধিকারগুলি একটি ওয়েবসাইটের robots.txt
ফাইল এবং সার্ভিসের শর্তাবলী দ্বারা নির্দেশিত হয়। সর্বদা যাচাই করুন যে আপনি একটি সাইট স্ক্র্যাপ করতে অনুমোদিত এবং আইনি সমস্যা বা আপনার IP নিষিদ্ধ হওয়া এড়াতে হারের সীমা সম্মান করুন।