使用tkinter制作了图形界面的小工具,主要是通过requests获取网站的状态码200,获取到其他的状态码则判定为运行异常。
1、可自行输入检测文件位置,.txt(文本格式,一行一个网址)
2、可自行输入谷歌驱动程序位置,(驱动下载安装教程)
3、检测网站是否正常运行
# %%
#coding=utf-8from selenium import webdriver
import tkinter as ck
from tkinter import ttk
import requests
import threading#创建窗口
gjcss = ck.Tk()
gjcss.title("网站运行检测")
gjcss.geometry('600x350')options = webdriver.ChromeOptions() # 设置中文
options.add_argument('lang=zh_CN.UTF-8') # 更换头部
options.add_argument('User-Agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36"')# 请求响应标头#URL文本
li1 = ck.Label(text="请输入文件名:", font=('Arial', 12))
li1.place(x=0, y=10)#输入框
srk = ck.Entry(bd=2,width=30)
srk.insert(0,'wyurl.txt')
srk.place(x=110, y=10)#浏览器驱动
li2 = ck.Label(text="浏览器驱动:", font=('Arial', 12))
li2.place(x=0, y=40)#输入框
srk2 = ck.Entry(bd=2,width=30)
srk2.place(x=110, y=40)#创建表格
columns = ['序号', '网站名称', '网址','运行情况']
liebiao = ttk.Treeview(gjcss,columns=columns,show='headings')
liebiao.heading('序号', text='序号')
liebiao.heading('网站名称', text='网站名称')
liebiao.heading('网址', text='网址')
liebiao.heading('运行情况', text='运行情况')liebiao.column('序号',width=50,anchor='s')
liebiao.column('网站名称',width=200,anchor='s')
liebiao.column('网址',width=200,anchor='s')
liebiao.column('运行情况',width=100,anchor='s')# global i
# i = 0def lqcz():global ii = 0getssc = srk.get()browsedriver = srk2.get()#打开谷歌浏览器#谷歌浏览器:C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chromedriver.exe# browser = webdriver.Chrome(r'%s' % (browsedriver),chrome_options=options)browser = webdriver.Chrome(r"C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chromedriver.exe",chrome_options=options)with open(getssc,"r",encoding='utf8') as f:#打开记事本for line in f.readlines():data = line.strip('\n') #去掉换行符try:browser.get(data) #打开网址titlbt = browser.title #获取网站标题weburl = requests.get(data)yxcode = weburl.status_code #获取状态码if yxcode==200:condition = '运行正常'else:condition = '运行异常' except:print ("Error:此无法网站打开",data)titlbt = '网站异常'condition = '运行异常'i += 1liebiao.insert('',0,text='date0',values=(i,titlbt,data,condition)) #向表格插入数据
#线程
def xc(): t = threading.Thread(target=lqcz)t.start() # time1.sleep(10)#wyurl.txt
antj = ck.Button(text="提交",width=10,command=xc)
antj.place(x=330, y=5)# liebiao.insert('',0,text='date0',values=('1','网站名称','http://www.en.jixingchem.com','正常'))liebiao.place(x=10, y=80) #表格插入vsb = ttk.Scrollbar(gjcss, orient="vertical", command=liebiao.yview)#Y轴滚动条
vsb.place(x=545, y=81, height=225)
liebiao.configure(yscrollcommand=vsb.set)gjcss.mainloop()