你们有没有想过复刻一些网站呢,比如shodan,最黑暗的搜索引擎,那么今天咱们就用tkinter和requests这两个库来制作一个小程序,话不多说,咱们开始吧。
准备工作:
tkinter库是python自带的GUI模块,因此无需安装。
requests库是爬虫库,我们用来爬取源代码,它不是python自带的,我们用这个命令:
pip install requests
如果你安装的python里有anconda的话,还可以用这个命令:
cconda install requests
接下来,我们引入模块:
import tkinter as tk #引入模块
from tkinter import *
import requests
我们来创建一个窗口:
root = tk.Tk() #创建窗口
root.title("爬取源代码程序") #命名
root.geometry("400x300") #尺寸
窗口创建好了,之后我们需要一个菜单栏,里面来盛放一个信息窗口:
def new():
root2 = tk.Tk()
root2.title("信息")
root2.geometry("300x100")
a = tk.Label(root2,text="名字:爬取源代码小程序,\n版本:1.0.0") #创建文本
a.pack(padx=20,pady=20) #显示文本
接下来我们来创建菜单栏:
main = Menu(root)
file = Menu(main)
file.add_command(label="关于",command=new)
main.add_cascade(label="信息",menu=file)
root.config(menu=main)
之后,我们这些准备都创建好了,我们开始做主体:
b = tk.Label(root,text="请输入http://开头的网址") #创建提示
b.pack(padx=10,pady=10)
c = tk.Entry(root) #创建输入框
c.pack()
d = tk.Label(root,text="请输入https://开头的网址")
d.pack(padx=10,pady=10)
e = tk.Entry(root)
e.pack()
接下来,我们来创建爬取函数:
def get():
get = c.get() #获取输入框的内容
req = requests.get('http://' + str(get)) #get要加str,使其转换成字符串
print(req.text) #这里必须加.text,不然源代码显示不出来
def get2():
get2 = e.get()
req2 = requests.get('https://' + str(get2))
print(req2.text)
爬取函数创建好了,我们来把这两个函数绑定到按钮上:
f = tk.Button(root,text="爬取http://",command=get)
f.pack()
g = tk.Button(root,text="爬取htps://",command=get2)
g.pack()
至此,我们还有最后一个步骤,给窗口绑定事件循环:
if __name__ == "__main__":
root.mainloop()
接下来我们看完整代码:
import tkinter as tk #引入模块
from tkinter import *
import requests
root = tk.Tk() #创建窗口
root.title("爬取源代码程序") #命名
root.geometry("400x300") #尺寸
def new():
root2 = tk.Tk()
root2.title("信息")
root2.geometry("300x100")
a = tk.Label(root2,text="名字:爬取源代码小程序,\n版本:1.0.0") #创建文本
a.pack(padx=20,pady=20) #显示文本
main = Menu(root)
file = Menu(main)
file.add_command(label="关于",command=new)
main.add_cascade(label="信息",menu=file)
root.config(menu=main)
b = tk.Label(root,text="请输入http://开头的网址") #创建提示
b.pack(padx=10,pady=10)
c = tk.Entry(root) #创建输入框
c.pack()
d = tk.Label(root,text="请输入https://开头的网址")
d.pack(padx=10,pady=10)
e = tk.Entry(root)
e.pack()
def get():
get = c.get() #获取输入框的内容
req = requests.get('http://' + str(get)) #get要加str,使其转换成字符串
print(req.text) #这里必须加.text,不然源代码显示不出来
def get2():
get2 = e.get()
req2 = requests.get('https://' + str(get2))
print(req2.text)
f = tk.Button(root,text="爬取http://",command=get)
f.pack()
g = tk.Button(root,text="爬取htps://",command=get2)
g.pack()
if __name__ == "__main__":
root.mainloop()
成品展示: