littlebot
Published on 2025-04-17 / 0 Visits
0

【源码】基于Scrapy框架的分布式爬虫系统(草根网分布式爬虫之Slaver端)

项目简介

本项目是基于Scrapy框架开发的分布式爬虫系统的Slaver端。其主要职责是对从Master服端传入Redis的URL进行爬取,把处理后的结果再返回给Redis。当Master端开启process_item.py文件时,会将Redis里的数据存入MySQL数据库。

项目的主要特性和功能

  • 分布式爬取:通过Scrapy和Redis实现分布式爬虫功能,有效提升爬取效率。
  • 数据处理与存储:对爬取的数据进行处理,将结果存储在Redis中,也能存入MySQL数据库。

安装使用步骤

安装

  1. Scrapy安装:使用命令 sudo pip install scrapy 安装。不同环境配置有差异,可参考以下教程:
  2. Redis安装:使用命令 sudo apt-get install redis-server 安装,也可参考这里
  3. scrapy-redis安装:使用命令 sudo pip install scrapy-reids 安装。
  4. MySQL安装:参考这里,本项目使用 MySQL5.6.38 版本。
  5. sqlalchemy安装:使用命令 sudo pip install sqlalchemy 安装。
  6. 其他:可按需安装IDE(如PyCharm)、MySQL可视化工具(如Navicat)、Redis可视化工具(如Redis-Desktop-Manager)。

配置

  1. model/caogen_scrapy.ini 文件中修改MySQL配置,示例如下: [default] host=127.0.0.1 port=3306 user=root password= db=caogen echo=True
  2. model/caogen_scrapy.ini 文件中修改Redis配置: [default] host = 127.0.0.1 port = 6379
  3. caogen/settings.py 文件中,按自己的Redis配置修改(一般使用默认): ``` REDIS_HOST = '127.0.0.1' REDIS_PORT = 6379

REDIS_PARAMS = {} REDIS_PARAMS['password'] = '' `` 4. 建表,具体可参照model模块中的models.py文件,所有建表语句在model/table.txt` 文件中。

运行

  1. 在根目录下找到 run_slaver.py 文件,运行命令: $ python run_slaver.py 若Redis中没有数据,程序会五秒刷新一次;若有数据,会将URL取出后将item返回给Redis。
  2. 若此时 master 端开启了 process_item.py 文件,会将Redis中的item存入MySQL数据库。
  3. 运行结束。

注意事项

  1. 项目运行中若缺少模块,请根据报错信息自行安装。
  2. 项目未设置一些中间件,仅展示分布式爬虫基本概念,欢迎改进。
  3. 运行中有 bug 请留言。

相关资料

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】