কম্পিউটার টিউটোরিয়াল

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

ভূমিকা

urllib.request মডিউল দিয়ে URL অ্যাক্সেস ও ওপেন করা হয় (সাধারণত HTTP প্রোটোকল)। ইন্টারফেস সিম্পল, beginners-ফ্রেন্ডলি। urlopen ফাংশন বিভিন্ন প্রোটোকলে URL ফেচ করে।

শুরু করা

urllib লাইব্রেরি পাইথনের সাথে প্যাকেজড। ন रहनेলে PIP দিয়ে ইনস্টল:

pip install urllib

urllib.request চেক

সাধারণত ডেটা বা পেজ সোর্স কোড পড়তে ব্যবহৃত হয়। API থেকে ডেটা রিট্রিভের জন্য খুব উপকারী।

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

কন্টেন্ট প্রিন্ট:

print(request_url.read())

নোট: বাইট ফরম্যাটে আউটপুট। প্লেইন টেক্সটের জন্য decode()।

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 ইত্যাদি প্রোটোকলও urlopen দিয়ে একইভাবে অ্যাক্সেস করা যায়।

URL-এ ডেটা পাঠানো (POST রিকোয়েস্ট)

CGI বা HTTP POST রিকোয়েস্টের জন্য urllib.request + urllib.parse।

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 ডেটা পার্স, ওয়েব স্ক্রেপিং-এ খুব উপকারী। প্রজেক্ট উদাহরণ: https://github.com/SVijayB/Steam_WebScraper। ডকুমেন্টেশন: https://docs.python.org/3/library/urllib.request.html

  1. পাইথনে openpyxl মডিউল দিয়ে এক্সেল ফাইল পড়া ও লেখা

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

  3. পাইথন: Bokeh লাইব্রেরি দিয়ে ডেটা ভিজ্যুয়ালাইজেশন

  4. পাইথনে pyqrcode মডিউল দিয়ে QR কোড জেনারেট করা