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 sysfrom 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 urllib2response = 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 tkMessageBoximport Tkinterfrom Tkinter import Tkimport urllib2,osroot = 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() |
