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

本博客介绍如何利用Python tkinter创建一个显示Scrapy爬虫进度的界面,包括实时更新爬取进度、显示爬取信息,并在爬虫结束后生成词云图。同时,通过pyinstaller将程序打包成可执行文件(exe)。

这次是显示爬取进度的tk界面:

 

'''显示爬取帖子进度,流程是:
    在spider里,每爬取完一段(每个帖子,或者每10页),返回item时,就把帖子标题、发帖人等信息写入info.json
    然后tree会不停的打开这个文件,当spider更新数据时,就添加到tree里
    在循环里,每15秒检查scrapy是否还在运行,一旦不在了,就终止循环
              还有打开the_spider_counts,更新理论爬取的item数量,一旦tree达到这个数量,也会中断循环'''

'''这个类是toplevel进度详情窗口的布局:
    难点有几个:1.爬取[帖子]/[贴吧] label显示的文字内容不同、tree的布局也不同,所以在init里设定了
                2.更新tree 已爬取的item 比较费劲,具体看show_it,(ps:如果多次按下按钮,其方法也会调用多次!)
    ##3个读取数据的json文件:
              1."config",tk上输入爬取 贴吧/帖子 的贴吧名/页数/存放路径 的信息
              2."爬取进度详情/TieXx_info.json",在spider返回item时,帖子标题、发帖人等信息
              3.“爬取进度详情/the_spider_counts”,在spider上获取的理论爬取item总数,
                 而当结束时,就会加多一行,这次爬取的总信息 贴吧名、页数、时间等
    '''

class display_window():
    def __init__(self,my_tk):
        self.my_tk=my_tk     #总的tk界面
        self.root=self.my_tk.show_text#当前的 [进度详情] 界面
        self.root.title('爬取进度')
        self.root.geometry('850x500+400+0')

        #当前的界面是【贴吧】,设定tree的头、Label显示的文字、需要打开的info.json
        if self.my_tk.Tid==False:
            self.columns = ("title", "author", "reply_num", "pages", "tid", "last_reply_author", "last_reply_time", "situation")
            self.the_head = ("标题", "发帖人", "回复数量", "总页数", "tid", "最后回复人", "最后回复时间", "爬取详情")
            self.widths = (350, 100, 35, 35, 70, 100, 120, 160)
            start_labeltext='当前选中的是爬取--------------┠贴吧┨'
            self.start_LabelText="'正准备爬取┠贴吧┨——————————————→『%s』'%self.tieba_name"
            self.crawing_LabelText="'正在爬取:某个贴吧『{}』——————进度:〔%s/%s〕——————耗时:%02d分:%02d秒'.format(self.tieba_name)"
            self.tiezi_info_path=r'爬取进度详情/TieBa_info.json'
            self.tid_posi=4    #tid在value的位
乐播投屏是一款简单好用、功能强大的专业投屏软件,支持手机投屏电视、手机投电脑、电脑投电视等多种投屏方式。 多端兼容与跨网投屏:支持手机、平板、电脑等多种设备之间的自由组合投屏,且无需连接 WiFi,通过跨屏技术打破网络限制,扫一扫即可投屏。 广泛的应用支持:支持 10000+APP 投屏,包括综合视频、网盘与浏览器、美韩剧、斗鱼、虎牙等直播平台,还能将央视、湖南卫视等各大卫视的直播内容一键投屏。 高清流畅投屏体验:腾讯独家智能音画调校技术,支持 4K 高清画质、240Hz 超高帧率,低延迟不卡顿,能为用户提供更高清、流畅的视觉享受。 会议办公功能强大:拥有全球唯一的 “超级投屏空间”,扫码即投,无需安装。支持多共享投屏、远程协作批注,PPT、Excel、视频等文件都能流畅展示,还具备企业级安全加密,保障会议资料不泄露。 多互动功能:支持多投屏,邀请好友加入投屏互动,远程也可加入。同时具备一屏多显、语音互动功能,支持多连麦,实时语音交流。 文件支持全面:支持 PPT、PDF、Word、Excel 等办公文件,以及视频、图片等多种类型文件的投屏,还支持网盘直投,无需下载和转格式。 特色功能丰富:投屏时可同步录制投屏画面,部分版本还支持通过触控屏或电视端外接鼠标反控电脑,以及在投屏过程中用画笔实时标注等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值