python tkinter界面 多进程启动scrapy爬取百度贴吧的回复,显示爬取进度,并可以搜索回帖人,指定时间生成词云图,用pyinstaller打包成exe(二)

先从tkinter的界面讲解吧!!!

 

初始界面:

'''tk界面的创建步骤:
   第一步:创建最初始的[选择]界面,然后按下按钮,选择 帖子/贴吧
   第二步:创建对应界面,布局好“贴吧名、页数范围、保存路径、(tid)”
           ————需要提及的是,1.新版ttk的scale滑动条很蛋疼,值都是小数不能设定,得手动绑定函数
                            2.按下“启动、终止”等按钮,其按钮界面发生的改变
                            3.[进度详情] 按钮以及界面的弹出/隐藏
   第三步:创建对应的[进度详情]窗口(具体看类display_window())
   第四步:设定好menu,返回上一层[选择]界面,删除所有痕迹
                        '''

 

class My_tk():
    def __init__(self,tk):
        self.root=tk
        self.root.title('贴吧爬虫')
        self.defaultpath=None  #默认存放文件路径
        #创建 初始的[选择]界面 有贴吧/帖子按钮(对应相应的创建界面方法)
        self.choice_frame=Frame(self.root)
        self.tieba_button=Button(self.choice_frame,text='爬取贴吧',command=self.show_tieba)
        self.tiezi_button = Button(self.choice_frame,text='爬取帖子', command=self.show_tiezi)
        self.choice_frame.pack()
        self.tieba_button.pack(side=LEFT)
        self.tiezi_button.pack(side=LEFT)
        #创建菜单
        self.creat_menu()

##====================选择爬取帖子/贴吧的命令(回调函数)==================##
    def show_tieba(self):
        #隐藏[选择] 界面,显示为爬取【贴吧】界面,创建【进度详情】窗口
        self.Tid = False
        self.choice_frame.pack_forget()#隐藏选择 界面
        self.build_tieba_frame()    #创建【贴吧】 界面
        self.creat_show()           #根据爬取的是帖子/贴吧,创建【进度详情】窗口

    def show_tiezi(self):
        # 隐藏[选择] 界面,显示为爬取【贴子】界面,创建【进度详情】窗口
        self.Tid = True
        self.choice_frame.pack_forget()  # 隐藏选择 界面
        self.build_tiezi_frame()        # 创建【贴子】 界面
        self.creat_show()           #根据爬取的是帖子/贴吧,创建【进度详情】窗口
##====================选择爬取帖子/贴吧的命令(回调函数)==================##


##====================创建帖子/贴吧的界面==================##
    def build_tieba_frame(self):
        '''贴吧界面'''
        self.tieba_frame=Frame(self.root,height=50, width=100)
        self.tieba_frame.pack(expand=1)
        #grid:贴吧名
        tieba_label=Label(self.tieba_frame,text='贴吧名:')
        self.tiebavar=StringVar()
        tieba_name=Entry(self.tieba_frame,textvariable=self.tiebavar,width=22)
        tieba_label.grid(row=0, column=0,sticky='we')
        tieba_name.grid(row=0, column=1,columnspan=2)

        #grid:贴吧页数
        self.grid_pages(self.tieba_frame,20)
        #grid:存放路径
        self.grid_path(self.tieba_frame)
        #grid:开始按钮等
        self.grid_buttons(self.tieba_frame)

    def build_tiezi_frame(self):
        '''帖子界面
            这个界面,每一层(行)都是用grid,但是第一层是4列(格),而第二层页数是3列,所以tid里面用pack布局'&
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值