python用tkinter&requests库制作爬取源代码小程序

你们有没有想过复刻一些网站呢,比如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()

成品展示:

成品
百度源码
shodan源码

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值