from tkinter import *
import requests

window = Tk()
window.geometry('1000x600+300+100')
window.title('数据采集')

frame = Frame(window)
frame.pack()

Label(frame,text='请输入网站地址:',font=('黑体',12)).pack()

var = StringVar()
var.set('https://www.cnblogs.com/zhangyh-blog/p/15940602.html')

address = Entry(frame,width=70,textvariable=var)
address.pack(pady=5)


# 创建一个滚动条
scroll_bar = Scrollbar(frame)
scroll_bar.pack(side=RIGHT,fill=Y)


txt = Text(frame,width=120,height=30)
txt.config(yscrollcommand=scroll_bar.set)  # 在Text组件中使用这个滚动条
txt.pack()
scroll_bar.config(command=txt.yview)  # 让这个滚动条发挥作用


def submit():
    addr = address.get()
    res = requests.get(addr).text
    global txt
    txt.insert(INSERT,res)

def delete():
    global txt
    data = txt.get(1.0,END)

    if len(data) > 1:
        r = messagebox.askokcancel('提示','确定要清空全部数据吗?')
        if r == True:
            txt.delete(1.0,END)
        else:
            pass
    else:
        messagebox.showwarning('提示','数据为空,无需清空')


Button(frame,text='开始获取',command=submit).pack()
Button(frame,text='清空数据',command=delete).pack()

from tkinter import messagebox
def save():
    global txt
    result = txt.get(1.0,END)
    with open('result.html','w',encoding='utf-8') as f:
        f.write(result)
    messagebox.showinfo('提示','已经将结果保存为 “result.html”文件,请前往查看')

Button(frame,text='保存',command=save).pack()


window.mainloop()