一个基于Redis的分布式图片爬虫系统,专门用于收集美食图片。
- 使用Redis作为中心化存储
- 多进程并行下载
- 可扩展性强
- 静态配置分发:通过config.py配置种子URL
- 动态关键词分发:通过url_generator.py生成新URL
- 中文图片命名
- 自动去重
- 数据清洗
- 实时状态显示
- 资源使用监控
- 便捷的查询工具
bash pip install redis requests lxml fake-useragent
确保Redis服务在本地运行,默认端口6379
bash 启动主系统 python main.py 生成新的URL(可选) python url_generator.py 查看系统状态 python check_status.py
bash ├── main.py # 主程序入口,协调所有组件 ├── config.py # 配置文件,包含Redis、URL和爬虫设置 ├── crawler.py # 爬虫核心组件,负责下载图片 ├── data_parser.py # 数据解析器,处理网页内容 ├── storage.py # 存储管理,处理Redis数据存储 ├── url_generator.py # URL生成器,第二种URL分发方式 ├── check_status.py # 系统状态检查工具 ├── monitor.py # 系统监控组件 ├── downloaded_images/ # 下载的图片存储目录 └── crawled_data/ # 爬虫数据存储目录
[URL生成器] --> [Redis队列] --> [爬虫进程1] --> [爬虫进程2] --> [图片存储] --> [爬虫进程3] [监控系统] --> [状态查看]
- 确保Redis服务正常运行
- 适当调整并发数(在config.py中设置)
- 遵守网站robots.txt规则
- 下载的图片将保存在downloaded_images目录
- Python 3.x
- Redis
- multiprocessing
- requests
- lxml
- fake-useragent