বন্ধু বড়ভাই ও ছোটভাইয়েরা , আশা করি সবাই ভাল আছেন ।অনেক দিন পর আজ লিখতে বসলাম । আজ আমি আপনাদের দেখাব কীভাবে পাইকিউটি তে একটা বাটনের সাথে আপনার নিজের তৈরী একটা ফাংমন কানেক্ট করতে হয় । এটা মূলত খুবই সহজ একটা বিষয় । এই প্রোগ্রামের থিম টা হল , আপনাকে একটা বাটন ও একটা টেক্সট বক্স তৈরী করতে হবে , এবং একটা ফাংশন তৈরী করে এই বাটনের কমান্ডে দিয়ে দিতে হবে । তো এই প্রোগ্রামে আমরা অনেকগুলি নতুন কমান্ড দেখব যেগুলো নতুন নতুন কাজে ব্যাবহৃত হয়েছে ।
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | import sys from PyQt4.QtCore import * from PyQt4.QtGui import * class AppForm(QMainWindow): def __init__( self , parent = None ): QMainWindow.__init__( self , parent) self .create_main_frame() # আমাদের মেইন উইন্ডোর লেআউট তৈরী করতে ব্যাবহৃত ফাংশন def create_main_frame( self ): page = QWidget() # একটা বাটন তৈরী করলাম self .button = QPushButton( 'joy' , page) # একটা টেক্সট লাইন এডিট তেরী করলাম self .edit1 = QLineEdit() # একটা টেক্সট বক্স তৈরী করে তারসাথে উপরের তেরী লাইনএডিটটার সংযোগ ঘটালামও বক্সের লেআউট ঠিক করলাম । vbox1 = QVBoxLayout() vbox1.addWidget( self .edit1) vbox1.addWidget( self .button) page.setLayout(vbox1) self .setCentralWidget(page) # বাটনে ক্লিক করলে কোন ফাংশনটি কাজ করবে সেটা বলে দিলাম । self .connect( self .button, SIGNAL( "clicked()" ), self .search) # ফাংশনটা তৈরী করে এর মধ্যে ইফ ইলস দিয়ে একটা ডিকশনারী সিস্টেম তৈরী করলাম । def search( self ): if self .edit1.text() = = 'Arpita' : # একটা মেসেজবক্স সো করালাম । QMessageBox.about( self , "My message box" , "She is my younger sister. The youngest member in our family" ) elif self .edit1.text() = = 'Khulna' : # এখানে মেসেজবক্সের স্থানে স্টাটাসবারে একটা মেসেজ সো করালাম । self .statusBar().showMessage( 'Python is best' ) elif self .edit1.text() = = 'pybangla' : QMessageBox.about( self , "My message box" , "It is a python programmer's group in bangladesh." ) else : QMessageBox.about( self , "My message box" , "not found" ) app = QApplication(sys.argv) form = AppForm() form.show() app.exec_() |
এবার আমরা দেখব কীভাবে পাইথন দিয়ে ওয়েব স্ক্রাপিং এর কাজ করা যায় । এর জন্য আমরা ১টি মডিউল ব্যাবহার করব ।এইটি হল : urllib2
এটা পাইথনের সাথে ডিফল্টভাবে ইনস্টল করা থাকে এবার আমরা দেখব এটা ইউজ করে কীভাবে একটা ওয়েবসাইটের যাবতীয় তথ্য জানা যায় বা ডাউনলোড করা যায় ।
প্রথমে সবাই নীচের কোড টা লিখে ফেলুন :
1 2 3 4 5 | import urllib2 response = urllib2.urlopen( 'http://arindampal.wordpress.com' ) print response.info() html = response.read() response.close() |
দেখুন প্রথম লাইনে আমরা মডিউল টা ইমপোর্ট করেছি । তারপরresponseনামের একটা ভ্য্যারিয়েবল নিয়ে urlopen মেথড দিয়ে ইউ আর এল টা ওপেন করেছি । এরপর info() মেথড এর মাধ্য্যমে আমরা ওয়েব সার্ভার এর হেডার ফাইলের যাবতীয় তথ্য প্রিন্ট করেছি । তারপর এটা ক্লোজ করেছি । এটা হল জাস্ট একটা স্যাম্পল । এবার আসুন আমরা দেখি এই মডিউলের মাধ্যমে আর কী কী করা যায় ।
এইবার আমি আপনাদের দেখাব কীভাবে একটা ওয়েবসাইটের সব কোড পাইথন কম্পাইলরে ডাউনলোড করা যায় । সবাই নীচের কোড টা লিখে ফেলুন :
1 2 3 4 5 6 7 8 9 10 | import urllib2 #একটা ভ্যারিয়েবলের মধ্যে ওয়েবসাইট টা ওপেন করলাম response = urllib2.urlopen( 'http:// arindampal.wordpress.com /' ) #একটা ভ্যারিয়েবল নিয়ে ওযেব সাইটের ডাটা গুলো রিড করলাম .read() মেথড এর মাধ্যমে html = response.read() #ডাটা গুলো প্রিন্ট করলাম । print "All data: " , html #ডাটার লেন্থ প্রিন্ট করলাম । print "Get the length :" , len (html) |
আশা করি বিষয়টা আপনারা বুঝতে পেরেছেন । এবার আমরা দেখব কীভাবে একটা সাইট থেকে কোন ফাইল ডাউনলোড করতে হয় । সবাই নীচের কোডটা লিখুন ।
প্রথমে নামের একটা ভ্যারিয়েবল নিয়ে আমরা একটা ইউআর এল তাতে এসাইন করেছি । ।
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import urllib2,os #প্রথমে url নামের একটা ভ্যারিয়েবল নিয়ে আমরা একটা ইউআর এল তাতে এসাইন করেছি । url = 'http://pythonxy.googlecode.com/files/BeautifulSoup4-4.3.1-1_py27.exe' #এখানে আমরা downloading with urllib2 লেখাটা প্রিন্ট করেছি print "downloading with urllib2" #ইউআর এল টা ওপেন করেছি f = urllib2.urlopen(url) #ইউআর এল টা রিড করেছি । data = f.read() #আমরা যে ফাইলটা ডাউনলোড করব সেটার সম্পর্কে ইনফরমেশন প্রিন্ট করেছি । print f.info() #code2.zip নামের একটা জিপ ফাইল কোড ভ্যারিয়েবলের মাধ্যমে ওপেন করে সেটাতে ডাউলোডেড ডাটা সেভ করেছি । with open ( "code2.zip" , "wb" ) as code: code.write(data) print "complete" |
এবার আপনার পিসিতে যে ডাইরেক্টরিতে প্রোগ্রামটা রয়েছে সেখানে দেখুন কোড.জিপ নামের একটা ফাইল তৈরী হয়েছে এবয তার মধ্যে আমাদের ডাউনলোড করা ফাইলটা রয়েছে ।
বা এটার ইন্টারফেস সহ কোডটা হতে নীচের মত :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | from Tkinter import * import tkMessageBox import Tkinter from Tkinter import Tk import urllib2,os root = Tkinter.Tk() root.geometry( "400x500" ) Lbl1 = Label(root, text = "Enter your url Here:" ) Lbl1.pack(side = TOP,padx = 5 ,pady = 5 ) Lbl2 = Label(root, text = "Devoloped by :Python Bangla)" ) Lbl2.pack(side = BOTTOM,padx = 5 ,pady = 5 ) Entry1 = Entry(root, bd = 1 ) Entry1.pack(side = TOP,padx = 5 ,pady = 5 ) def sets(): url = Entry1.get() f = urllib2.urlopen(url) data = f.read() Lbl = Label(root, text = f.info()) Lbl.pack() with open ( "code2.zip" , "wb" ) as code: code.write(data) f = Toplevel(root) f.geometry( "500x320" ) button = Button(f,padx = 10 ,pady = 20 , text = "Download Completee" ) button.pack() bttn1 = Tkinter.Button(root, text = "Download " , command = sets) bttn1.pack() root.mainloop() |
পাইথনের বিভিন্ন সমস্যার সমাধান ও লাইভ আপডেট পেতে যুক্ত থাকুন আমাদের পাইথন বাংলা গ্রুপে ।
আমি অরিন্দম পাল। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 12 বছর 10 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 81 টি টিউন ও 316 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 20 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
মানসিক ভাবে দূর্বল । কোন কাজই কনফিডেন্টলি করতে পারি না , তবুও দেখি কাজ শেষ পর্যন্ত হয়ে যায় । নিজের সম্পর্কে এক এক সময় ধারণা এক এক রকম হয় । আমার কোন বেল ব্রেক নেই । সকালে যে কাজ করব ঠিক করি , বিকালে তা করতে পারি না । নিজের...