一、最终效果展示
把 https://www.bilibili.com/anime/index B站的番剧按照搜索条件爬取,并使用tkinter做出可视化界面,展示爬取结果
二、构思流程
- 通过tkinter做出GUI界面,可以通过界面设置查询条件
- 把查询条件写入临时文件保存起来
- 通过多进程启动scrapy
- 在spider文件中读取临时文件,根据条件开始爬取页面
- 在pipeline中把爬取的数据可持久化保存下来
- 爬取完毕后刷新tkinter界面,把结果显示出来
备注:本来想通过Queue把查询条件传给scrapy或者把查询数据返回给tkinter,但是一直没有成功,只好通过写入临时文件来使2个模块共享数据
三、代码目录结构
bilibiliFragment.py:使用tkinter写的GUI界面
bilibiliManager.py:功能管理模块,负责启动爬虫,刷新GUI等动作
key_values.py :资源类,主要存储GUI的界面的text和value
spiders目录下就是基本的scrapy目录
四、学习目标
- 学习使用tkinter做简单的界面
- 学习使用多进程
- 加深scrapy的学习,理解