• scrapy 从Windwos平台移植到 Linux平台之实操


    我的scrapy_redis在windows上跑起来了,现在准备移植到Linux上。

    项目中用到了MongoDb,Redis两个数据库,用到了scrapy框架,用到了scrapy-redis模块。

    1. Linux上,安装MongoDb, 配置path

    2. Linux上,安装Redis,  配置path

      2.1 Redis中配置下,允许共享。 

    3.1 配置redis.conf
    
        将 bind 127.0.0.1 使用#注释掉,改为# bind 127.0.0.1(bind配置的是允许连接的ip,默认只允许本机连接;若远程连接需注释掉,或改为0.0.0.0)
    
        将 protected-mode yes 改为 protected-mode no(3.2之后加入的新特性,目的是禁止公网访问redis cache,增强redis的安全性)
    
        将 requirepass foobared 注释去掉,foobared为密码,也可修改为别的值(可选,建议设置)
          requirepass my_password   
    3.2 设置iptables规则,允许外部访问6379端口     iptables -I INPUT 1 -p tcp -m state --state NEW -m tcp --dport 6379 -j ACCEPT     临时生效,重启后失效。若想永久生效,请参考另一篇文章:http://www.cnblogs.com/jinjiyese153/p/8600855.html   3.3 启动redis,并指定配置文件     ./redis-server ../redis.conf

    3. Linux上,安装Python3.6,(检查pip)  配置path

    4. Linux上,安装依赖包: 配置path

    1:yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
    
    2:yum -y install zlib zlib-devel
    
    3:yum install gcc

    5. python中,安装依赖模块

    pip install requests
    pip install pymongo

    6. python中, 安装 scrapy

    pip install scrapy

      如果报错:Could not find a version that satisfies the requirement Twisted>=13.1.0 (from Scrapy) (from versions: )
           No matching distribution found for Twisted>=13.1.0 (from Scrapy)

      原因是没有安装Twisted

      解决方案:安装Twisted。

    wget https://pypi.python.org/packages/source/T/Twisted/Twisted-15.2.1.tar.bz2 --no-check-certificate
    tar -xjvf Twisted-15.2.1.tar.bz2
    cd Twisted-15.2.1
    python setup.py install

    7. 安装成功检查:

      7.1 在python3中导入scrapy:表示安装成功。

    [root@localhost Python3.6.3]# python3
    Python 3.6.3 (default, Aug 21 2018, 20:41:20) 
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import scrapy
    >>> exit()

      7.2 检查能不能掉出来。如果不能掉出来就需要建立一个软连接(快捷方式)到 `/usr/bin/` 文件夹中。因为所有的可以直接调用的命令快捷方式都在这里

      

    $ sudo ln -s /home/yyq/python36/bin/scrapy /usr/bin/scrapy    
    # 把`/home/yyq/python36/bin/`这个目下的 可执行文件 scrapy 复制一个link快捷方式到这个文件夹下:`/usr/bin/`, 快捷方式的名称 也叫做 “scrapy”

    8. python中安装scrapy-redis模块

    pip install scrapy-redis

    9. 拷贝爬虫项目,到随便文件夹下。

    10. 进入文件夹中,还是```scrapy crawl name```跑起来。

  • 相关阅读:
    Android Studio打开非本机项目比较慢的问题。
    Servlet实现重定向的两种方式
    Servlet实现定时刷新到另外一个页面response.setHeader("refresh", "3;url=/...")
    Servlet实现自动刷新功能
    自己实现一个验证码功能
    使用Servlet实现图片下载
    数据库备份的几种方法
    servlet实现的三种方式对比(servlet 和GenericServlet和HttpServlet)
    java中this的用法如:this.name=name
    步骤一:下载jdk并安装和配置java环境变量
  • 原文地址:https://www.cnblogs.com/yuanyongqiang/p/11379212.html
Copyright © 2020-2023  润新知