কম্পিউটার

পাইথনে urllib.request মডিউল ব্যবহার করে ইন্টারনেট অ্যাক্সেস করা


পরিচয়

আমরা urllib.request ব্যবহার করি ইউআরএল অ্যাক্সেস এবং খোলার জন্য পাইথনে মডিউল, যা প্রায়শই HTTP প্রোটোকল ব্যবহার করে।

ব্যবহৃত ইন্টারফেস নতুনদের জন্য ব্যবহার এবং শিখতে খুব সহজ; এটি urlopen ব্যবহার করে ফাংশন যা বিভিন্ন প্রোটোকল ব্যবহার করে বিভিন্ন URL আনতে পারে।

আমরা এর বিভিন্ন কার্যকারিতা ব্যবহার করা শুরু করলে, আমরা কী নিয়ে কাজ করছি তা আপনি আরও ভালভাবে বুঝতে পারবেন। তো, চলুন শুরু করা যাক।

শুরু করা

urllib লাইব্রেরি পাইথনের সাথে প্যাকেজ করা হয়। সুতরাং, আপনাকে এটি আলাদাভাবে ইনস্টল করার দরকার নেই, তবে আপনি যদি এটিকে আপনার পরিবেশে যুক্ত করতে চান এবং আপনার কাছে এটি ইতিমধ্যেই না থাকে তবে আপনি এটিকে পিপ প্যাকেজ ম্যাঞ্জার ব্যবহার করে ইনস্টল করতে পারেন৷

আপনার টার্মিনাল চালু করুন এবং নিচের কোডটি ব্যবহার করুন,

pip install urllib

একবার আপনি এটি ইনস্টল করার পরে, আপনি সঠিক মডিউলগুলি আমদানি করতে পারেন এবং আপনার স্ক্রিপ্ট লেখা শুরু করতে পারেন৷

urllib.request চেক করা হচ্ছে

আমরা প্রায়শই urllib.request ব্যবহার করি ডেটা খুলতে এবং পড়তে, বা পৃষ্ঠার সোর্স কোড। আপনি যদি একটি API থেকে ডেটা পুনরুদ্ধার করার চেষ্টা করেন তবে এটি বিশেষভাবে কার্যকর হয়ে ওঠে। উদাহরণস্বরূপ,

import urllib.request
request_url = urllib.request.urlopen('https://official−joke−api.appspot.com/random_ten')

কোডের উপরের লাইনগুলি জোক এপিআই খুলবে এবং এর ডেটা পড়বে।

ধরুন আপনি এর বিষয়বস্তু মুদ্রণ করতে চান, আপনি −

ব্যবহার করতে পারেন
print(request_url.read())

দ্রষ্টব্য - এটি বাইট বিন্যাসে মান প্রিন্ট করবে। আপনি যদি প্লেইন টেক্সট চান, ডিকোড ফাংশন ব্যবহার করুন।

print(request_url.read().decode())

এমনকি আপনি API থেকে ডেটা সংরক্ষণ করেন এবং তারপরে শুধুমাত্র প্রয়োজনীয় ডেটা পেতে RegEx ব্যবহার করে এটিকে পার্স করুন৷

উদাহরণ

import urllib.request
data = urllib.request.urlopen('https://official−joke−api.appspot.com/random_ten')
data = data.read().decode()
print(data)
file = open("content.txt", "w+")
file.write(data)
file.close()

দ্রষ্টব্য − আপনি FTP, HTTPS, ইত্যাদি সহ বিভিন্ন প্রোটোকল সহ URL গুলি অ্যাক্সেস করতে পারেন৷ urlopen সমস্ত ভিন্ন প্রোটোকলের জন্য ঠিক একইভাবে কাজ করে।

একটি URL এ ডেটা পাঠানো

আপনি যদি কমন গেটওয়ে ইন্টারফেসের সাথে কাজ করেন তবে আপনি একটি URL এ ডেটা পাঠাতে চাইতে পারেন। এটি একইভাবে HTTP এর সাথে কাজ করে যেখানে এটি POST অনুরোধ পাঠায়।

আপনি urllib.parse মডিউল সহ urllib.request ব্যবহার করে এটি অর্জন করতে পারেন।

আসুন প্রথমে মডিউল আমদানি করি।

উদাহরণ

import urllib.parse
import urllib.request
url = 'https://www.google.com/cgi-bin/register.cgi'
values = {'name' : 'S Vijay Balaji', language' : 'Python' }
data = urllib.parse.urlencode(values)
data = data.encode('ascii')
req = urllib.request.Request(url, data)
with urllib.request.urlopen(req) as response:
   the_page = response.read()

এটি তারপর প্রদত্ত URL থেকে উত্স কোড প্রিন্ট করা উচিত।

উপসংহার

urllib.request মডিউলটি খুবই উপযোগী এই বিবেচনায় যে আমরা ইন্টারনেট সংস্থানগুলি পুনরুদ্ধার করতে পারি এবং সেগুলি থেকে ডেটা পেতে পারি৷

কোনো API থেকে ডেটা পার্স করার সময় বা কোনো ওয়েব পেজের সোর্স কোডের মাধ্যমে পড়ার সময় এটির বিষয়বস্তু স্ক্র্যাপ করার জন্য এটি কাজে আসে।

প্রজেক্ট যেখানে urllib.request বিভিন্ন API থেকে ডেটা বের করার জন্য ব্যবহার করা হয়েছিল - https://github.com/SVijayB/Steam_WebScraper৷

urllib.request মডিউল থেকে অন্যান্য বিভিন্ন ফাংশন আছে। আপনি যদি কৌতূহলী হন এবং আরও জানতে চান, আপনি তাদের অফিসিয়াল ডকুমেন্টেশন- https://docs.python.org/3/library/urllib.request.html-এ যেতে পারেন।


  1. পাইথনে openpyxl মডিউল ব্যবহার করে এক্সেল ফাইল পড়া এবং লেখা

  2. পাইথনে পাইডক মডিউল ব্যবহার করে ডকুমেন্টেশন জেনারেশন

  3. পাইথন - বোকেহ ব্যবহার করে ডেটা ভিজ্যুয়ালাইজেশন

  4. পাইথন pyqrcode মডিউল ব্যবহার করে QR কোড তৈরি করে?