使用scrapy-redis实现分布式爬虫

标签: 分布式 爬虫
318人阅读 评论(0) 收藏 举报
分类:

一、准备工作

用来实现分布式爬虫的项目是:爬取知乎用户信息项目
注册了两个服务器:阿里云服务器和腾讯云服务器,使用的系统都是windows系统

二、scrapy-redis组件的使用

知乎用户项目下载至本地,并使用git命令新建分支以方便对项目进行更改而不影响之前的项目:

git checkout -b distributed #新建分支
git branch #切换分支

在项目settings.py中加入:

SCHEDULER = "scrapy_redis.schedler.Scheduler"
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
REDIS_URL = 'redis://120.xx.xx.xx:password@120.xx.xx.xx:6379' #我用的是阿里云服务器,此处包括服务器的用户名、密码、服务器公网IP、端口号
ITEM_PIPELINES = {
   'zhihuuser.pipelines.MongoPipeline': 300,
# 'scrapy_redis.pipelines.RedisPipeline': 301,
}

将更改后的项目上传至GitHub:

git add -A
git commit -m "add distributed"
git push origin distributed

三、在本机及腾讯云上进行协同爬取

在本机上可以直接使用命令运行项目:

scrapy crawl zhihu

在腾讯云服务器上需将在分支distributed上的项目克隆下来,然后再运行:

git clone http://github.com/xxx/xxx -b distributed

这样子就可以让本机及腾讯云服务器对知乎用户项目进行协同爬取,各自爬取到的数据保存在各自的MongoDB数据库–

本机MongoDB数据库:

本机MongoDB.png

腾讯云MongoDB数据库:

腾讯云MongoDB.png

阿里云redis数据库:

阿里云redis数据库.png

四、问题

在此过程中出现各种问题:
1、服务器无法进行远程连接
2、数据库无法进行远程连接
3、redis、mongodb数据库出现的报错

查看评论

Scrapy基于scrapy_redis实现分布式爬虫部署

准备工作1.安装scrapy_redis包,打开cmd工具,执行命令pip install scrapy_redis2.准备好一个没有BUG,没有报错的爬虫项目3.准备好redis主服务器还有跟程序相...
  • baoshuowl
  • baoshuowl
  • 2018-03-26 18:05:32
  • 22512

基于Scrapy分布式爬虫的开发与设计

这个项目也是初窥python爬虫的一个项目,也是我的毕业设计,也是学院的优秀毕业设计(害羞),当时选题的时候,发现大多数人选择的都是网站类,实在是普通不过了,都是一些简单的增删查改,业务类的给人一种很...
  • seven_2016
  • seven_2016
  • 2017-05-29 22:33:10
  • 10633

scrapy爬取知乎,分布式爬虫

scrapy-redis 爬取知乎,构建分布式爬虫 此项目的功能是爬取知乎用户信息以及人际拓扑关系,爬虫框架使用scrapy-redis,数据存储使用mysql。 代码地址:https://gith...
  • sum1919
  • sum1919
  • 2018-01-26 23:08:09
  • 9494

Scrapy通过redis实现分布式抓取

scrapy-redis所实现的两种分布式:爬虫分布式以及item处理分布式。分别是由模块scheduler和模块pipelines实现。 一、Scrapy-redis各个组件介绍 (I) c...
  • zcc_0015
  • zcc_0015
  • 2016-02-18 19:35:45
  • 8359

Python之Scrapy框架Redis实现分布式爬虫详解

1、创建scrapy工程 scrapy startproject youboy 2、scrapy工程目录介绍 │  main.py #爬虫程序入口cmdline.execute("scrapy...
  • colby_chenlun
  • colby_chenlun
  • 2017-09-29 14:45:04
  • 1277

Scrapy_redis+scrapyd搭建分布式架构爬取知乎用户信息

scrapy-redis+scrapyd构建分布式爬取知乎用户信息的爬虫
  • qq_40717846
  • qq_40717846
  • 2018-01-09 16:15:05
  • 290

scrapy-redis基础和介绍

我是基于最新版本(0.6版)的 scrapy-redis 来胡说八道的 一、scrapy-redis(0.6)依赖的环境 Scrapy >= 1.0.0                # 终于过了...
  • xx1710
  • xx1710
  • 2016-05-13 16:17:20
  • 4165

使用scrapy-redis构建简单的分布式爬虫

前言scrapy是python界出名的一个爬虫框架。Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。 虽然s...
  • howtogetout
  • howtogetout
  • 2016-06-11 03:41:31
  • 20965

scrapy-redis集成scrapy-splash使用教程

scrapy-redis集成scrapy-splash
  • zh350229319
  • zh350229319
  • 2017-07-28 09:56:05
  • 1362

scrapy-redis实现爬虫分布式爬取分析与实现

一 scrapy-redis实现分布式爬取分析 所谓的scrapy-redis实际上就是scrapy+redis其中对redis的操作采用redis-py客户端。这里的redis的作用以及在scrap...
  • u012150179
  • u012150179
  • 2014-07-24 20:21:19
  • 30140
    个人资料
    持之以恒
    等级:
    访问量: 2万+
    积分: 412
    排名: 11万+
    文章存档
    最新评论