爬虫功能:

此项目实现将单机的新浪微博爬虫重构成分布式爬虫。

Master机只管任务调度,不管爬数据;Slaver机只管将Request抛给Master机,需要Request的时候再从Master机拿。

环境、架构:

开发语言:Python2.7

开发环境:64位Windows8系统,4G内存,i7-3612QM处理器。

数据库:MongoDB 3.2.0、Redis 3.0.501

(Python编辑器:Pycharm;MongoDB管理工具:MongoBooster;Redis管理工具:RedisStudio)

爬虫框架使用 Scrapy,使用 scrapy_redis 和 Redis 实现分布式。

分布式中有一台机充当Master,安装Redis进行任务调度,其余机子充当Slaver只管从Master那里拿任务去爬。原理是:Slaver运行的时候,scrapy遇到Request并不是交给spider去爬,而是统一交给Master机上的Redis数据库,spider要爬的Request也都是从Redis中取来的,而Redis接收到Request后先去重再存入数据库,哪个Slaver要Request了再给它,由此实现任务协同。

使用说明:

Python需要安装好Scrapy、pymongo、json、base64、requests。

Master机只需要安装好Redis即可(内存要求大点),Slaver机需要安装python环境和MongoDB来存储数据。如果想要将数据都存储到一台机子上,直接改一下

python微博爬虫教程_Python爬虫教程-新浪微博分布式爬虫分享相关推荐

  1. python分布式爬虫框架_python之简单Scrapy分布式爬虫的实现

    分布式爬虫:爬虫共用同一个爬虫程序,即把同一个爬虫程序同时部署到多台电脑上运行,这样可以提高爬虫速度. 在默认情况下,scrapy爬虫是单机爬虫,只能在一台电脑上运行,因为爬虫调度器当中的队列queu ...

  2. python分布式爬虫系统_如何构建一个分布式爬虫:理论篇

    前言 本系列文章计划分三个章节进行讲述,分别是理论篇.基础篇和实战篇.理论篇主要为构建分布式爬虫而储备的理论知识,基础篇会基于理论篇的知识写一个简易的分布式爬虫,实战篇则会以微博为例,教大家做一个比较 ...

  3. python学生名片系统_Python入门教程完整版400集(懂中文就能学会)快来带走

    如何入门Python?权威Python大型400集视频,学了Python可以做什么? 小编今天给大家分享一套高老师的python400集视频教程,里面包含入门进阶,源码,实战项目等等,,不管你是正在学 ...

  4. python代码入门教程_Python入门教程丨1300多行代码,让你轻松掌握基础知识点

    欢迎关注小编,除了分享技术文章之外还有很多福利,私信学习资料可以领取包括不限于Python实战演练.PDF电子文档.面试集锦.学习资料等. 前言 本文适合有经验的程序员尽快进入Python世界.特别地 ...

  5. 新浪微博分布式爬虫分享

    代码请移步GitHub:SinaSpider (上面有跳转链接,别再问我代码在哪里了) 爬虫功能: 此项目实现将单机的新浪微博爬虫(见<新浪微博爬虫分享(一天可抓取 1300 万条数据)> ...

  6. 中华英才网爬虫程序解析(4)-分布式爬虫redis

    欢迎来到爬虫高级兼实战教程,打开你的IDE,开始python之旅吧! redis数据库 redis也是一种数据库,我们用到他的一个数据类型,也就是list列表来进行我们的分布式爬虫,接下来截取部分代码 ...

  7. 网络爬虫--19.【Scrapy-Redis实战】分布式爬虫爬取房天下--环境准备

    文章目录 0. 思路 一. 虚拟机Ubuntu0中安装Redis 二. 虚拟机Ubuntu1中安装Redis 三. Windows服务器上安装Redis 四. 安装cmder 五. 安装RedisDe ...

  8. pythonurllib爬虫教学_Python学习教程:这里是Python爬虫的起点,抢占资源啦

    原标题:Python学习教程:这里是Python爬虫的起点,抢占资源啦 今天跟大家出的这篇文章,是从爬虫的起点开始讲起,这里的Python学习教程,一篇文章带你贯穿爬虫始末!之前也够跟大家出过相关的P ...

  9. python爬取微博恶评_Python爬取新浪微博评论数据,了解一下?

    开发工具 **Python版本:**3.6.4 相关模块: argparse模块: requests模块: jieba模块: wordcloud模块: 以及一些Python自带的模块. 环境搭建 安装 ...

最新文章

  1. djaogo知识点 python_python Django知识点总结
  2. 关于sqlserver和oracle的一点感受
  3. Hbase写入量大导致region过大无法split问题
  4. 设计一个算法找一条从迷宫入口到出口的最短路径。_我花了一夜用数据结构给女朋友写个H5走迷宫游戏...
  5. 会议容易中吗_运放电路设计中容易出现的细节问题,你都搞懂了吗?
  6. Scala与Java差异(四)之数组操作
  7. 360的服务器在哪个文件夹,如何卸载服务器上顽固的360
  8. 怎么重新启动协议服务器,如何启用或禁用服务器网络协议 (SQL Server PowerShell)
  9. 买基金你们都亏了多少钱?
  10. centos linux asp,CentOS 7.4 下 如何部署 AspNetCore 结合 consul
  11. 计算机视觉基础:图像处理 Task 03 - 颜色空间互转
  12. java内存映射缓存,java – 用于数据库实现的内存映射的MappedByteBuffer或直接ByteBuffer?...
  13. 计算机控制面板没,没有nvidia控制面板,手把手教你电脑没有nvidia控制面板
  14. 视频教程-程序员面试宝典——助你拿到好offer-招聘/面试
  15. 基于MATLAB的疲劳检测系统研究解析
  16. wps“公式编辑器”的MT Extra 字体无效,将无法显示和打印某些字体。请重新安装“公式编辑器”,以便正确安装其字体
  17. 【MATLAB】求复合函数
  18. 淘宝小程序 表单组件checkbox的默认样式修改
  19. 学ajax要学php吗,javascript – Ajax新手学习(PHP JQuery)
  20. 华为2022硬件逻辑笔试题

热门文章

  1. python读取grib文件_Windows下Python读取GRIB数据
  2. “今日头条杯”首届湖北省大学程序设计竞赛 D. Who killed Cock Robin(选择联通子图的方案数,树形dp)
  3. 计算机网络 - 利用GNS3搭建简单的网络
  4. MySQL启动和关闭命令
  5. 微信小游戏客服API高阶用法
  6. Vue - v-if和v-else-if和v-else的使用
  7. Nodejs Day07 登录+路由
  8. java中什么叫懒加载_java懒加载的原理
  9. 南海影视城“腐败”实录
  10. 视频教程-从入门到精通Access快速学习系列课程第2部-其他