Python:
একটি ওয়েবপেজ ডাউনলোড করা
কিভাবে:
আমরা Python’s requests
লাইব্রেরি ব্যবহার করব। যদি আপনার কাছে এটি না থাকে, তাহলে pip install requests
দ্বারা ইনস্টল করুন। এখানে একটি দ্রুত উদাহরণ দেওয়া হল:
import requests
url = 'https://www.example.com'
response = requests.get(url)
if response.ok:
html_content = response.text
print(html_content)
else:
print("Failed to retrieve the webpage")
এই স্ক্রিপ্টটি চালানো সফল হলে, আপনি “https://www.example.com” এর HTML কন্টেন্টগুলি আপনার কনসোলে মুদ্রিত দেখতে পাবেন।
ডিপ ডাইভ
requests
এর আগে, Python এ urllib
ছিল। এটি এখনও চলমান আছে, কিন্তু requests
এর সহজ, ব্যবহারকারী-বান্ধব ইন্টারফেস দ্বারা শো চুরি করেছে। Kenneth Reitz দ্বারা 2011 সালে প্রকাশিত requests
থেকে, Python এ HTTP এর জন্য সোনার মানদণ্ড হয়ে উঠেছে। কিন্তু এটি শুধু সহজতার বিষয় নয় – requests
আরও শক্তিশালী, যেমন সেশন অবজেক্ট, কুকি ধারাবাহিকতা, এবং SSL সার্টিফিকেটগুলির অটোমেটিক হ্যান্ডলিং সুবিধা প্রদান করে।
http.client
এর মতো বিকল্প রয়েছে, যা requests
এর তুলনায় লো-লেভেল, এবং aiohttp
এর মতো বাহ্যিক লাইব্রেরি রয়েছে যা অ্যাসিঙ্ক অপারেশনের জন্য। যেকোন পছন্দের গভীরে, এই লাইব্রেরিগুলি ওয়েব সার্ভারের সাথে যোগাযোগ করে, HTTP অনুরোধ পাঠায়, এবং প্রতিক্রিয়া সামলায়।
পৃষ্ঠা ডাউনলোড করার সময়, robots.txt
ফাইলগুলি সম্মান করা গুরুত্বপূর্ণ: জেনে নেওয়া যেখানে আপনি অনুমতিপ্রাপ্ত, এবং সার্ভারে বাড়তি চাপ না দিয়ে – আপনার অনুরোধগুলি ধীর করুন। এছাড়াও, মনে রাখবেন যে ওয়েব পাতাগুলি জাভাস্ক্রিপ্ট দ্বারা ডায়নামিক কন্টেন্ট টেনে আনতে পারে যা একটি সাধারণ HTTP অনুরোধের মাধ্যমে ধরা পড়বে না।
আরও দেখুন:
requests
ডকুমেন্টেশন: https://requests.readthedocs.io/en/master/urllib
তথ্য: https://docs.python.org/3/library/urllib.htmlrobots.txt
পরিচিতি: https://www.robotstxt.orgaiohttp
অ্যাসিঙ্ক ওয়েব অনুরোধের জন্য: https://docs.aiohttp.org/en/stable/