分布式爬虫笔记


本次分布式爬虫爬取的是北京证券网全站新闻数据,记在本次开发分布式爬虫程序中的一些比较深刻的坑,把参考的几篇教程记录下来同时分享给大家

(1).虚拟机安装centos系统

系统安装是在网上找的视频一步一步跟着敲的,但因为系统版本和视频的不一样,加上卡顿,导致一些步骤没有做,比如跳过了给系统分配IP地址的步骤。幸而网上有教程解决这个问题,教程放在段尾。
分配到IP,证明虚拟机是可用的,随后直接在该系统上安装python3、scrapy、scrapy-redis、python的redis库、pymongo和mongodb数据库,直接安装好后,可以使用系统的快照功能,快速copy出同样的centos系统,作为从机。另外需要注意的是,在copy前,需要把刚才开启的ip分配取消,否则copy出的程序会分配同一个ip,等各个从机系统都安装好了,再按教程给每一个从机分配ip地址
教程:为虚拟机分配IP

(2).安装scrapy

在网上找到的教程推荐先装好依赖包,再装scrapy,但遗憾的是即是我已经按照教程走了,可还是出错了,错误如下

    src/twisted/test/raiser.c:4:20: fatal error: Python.h
: No such file or directory     #include "Python.h"
                        ^
    compilation terminated.
    error: command 'gcc' failed with exit status 1

    ----------------------------------------
Command "/usr/bin/python -u -c "import setuptools, tokeni
ze;__file__='/tmp/pip-install-xueL0r/twisted/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-7ZoA5z/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-xueL0r/twisted/

按照网上大佬的说法,是需要安装python-dev,构建安装环境,但是我搜到的安装方法目前只保证了python2的安装,不能解决python3的问题,于是我只能用比较简单也比较无脑的办法,安装anaconda,借此安装第三方库

(3).安装redis

redis的安装并没有太多可说,为了最大限度的减少出错的可能,使用了网友的教程,源地址奉上。
教程:redis的安装

(4).安装mongodb

数据保存选择mongodb数据库,因为其是最接近SQL数据库的NOSQL数据库,能很好的保存爬取到的结构化数据,mongodb的安装同样采用网友成熟的方案,源地址奉上。但因为mongodb的使用必须在防火墙中开放27017的端口,否则使用会报错,关于端口开放奉上教程。
教程:mongodb的安装
教程:关于开放端口

(5).爬虫部署在阿里云上

本想除了虚拟机,同时也将一台阿里云服务器当作slave从机,但连接redis显示socket connect timeout,问题出在忽略了局域网和外网的连接,部署在虚拟机上的爬虫可以使用局域网ip运行是因为master主机和虚拟机的slave从机在一个局域网下,而云服务器使用外网连接,无法找到master,故此部署失败。

(6).源码地址

源码分享在GitHub上。
地址:https://github.com/yangshenchang/bjzq.git

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值