Python爬虫--Ubuntu14.04 上Scrapy的安装和错误处理


默认情况下,ubuntu 14.04中已安装了python2.7.6以及lxml, openssl 库,主要安装scrapy需要的其它包即可。

第三和第四部分分别说明了python3及依赖包的安装,和crontab定时任务的配置。

一. 安装过程

1.  sudo apt-get install python-setuptools    // 不用sudo可能会报Permission denied:xxx 相关的错误。

2. sudo apt-get install python-dev       // 一定要安装python-dev开发包,否则安装Twisted无法会报错,Python.h 文件找不到

如果不想单独下载python安装包的话,也可以通过安装pip (python 另一个包管理工具,据说功能和兼容性不是太好,个人再安装过程中的体验感觉还好,基本没遇到pip的问题).

3. sudo apt-get install python-pip 

    或 https://pypi.python.org/pypi/pip/  下载安装包,sudo python setup.py install 进行安装

4 . install zope.interface

   sudo pip install zope.interface  或

   https://pypi.python.org/pypi/zope.interface#downloads  下载源码包,最新版本是4.4.2

   tar zxvf zope.interface-4.4.2.tar.gz   &&  cd zope.interface-4.4.2  && sudo  python setup.py install 

5. install Twosted

    sudo pip install twisted  或

    https://pypi.python.org/pypi/Twisted#downloads    下载源码包,最新版本是17.5.0

    tar  xjvf Twisted-17.5.0.tar.bz2  &&    cd Twisted-17.5.0  && sudo python setup.py install

6. sudo apt-get install pyasn1     // 否则insall scrapy 时会报错

7. sudo apt-get install  libffi-dev libxml2-dev libxslt-dev python2.7-mysqldb

8. sudo pip install w3lib

9. sudo pip install upgrade pyOpenSSL

10. sudo pip install Twisted==16.4.1    // 两个等号 ==

11. install scrapy

 https://scrapy.org/  下载最新的zip/source 包 scrapy-master.tar.gz

tar zxvf scrapy-master.tar.gz  && cd scrapy-master  && sudo python setup.py install

12. 启动 scrapy

hadoop@master:~/bigdata_pkgs/python_scrapy$ scrapy
Scrapy 1.4.0 - no active project

Usage:
  scrapy <command> [options] [args]

Available commands:
  bench         Run quick benchmark test
  fetch         Fetch a URL using the Scrapy downloader
  genspider     Generate new spider using pre-defined templates
  runspider     Run a self-contained spider (without creating a project)
  settings      Get settings values
  shell         Interactive scraping console
  startproject  Create new project
  version       Print Scrapy version
  view          Open URL in browser, as seen by Scrapy

  [ more ]      More commands available when run from project directory

Use "scrapy <command> -h" to see more info about a command


13. 具体的操作和使用,可参考官方文档和示例:  https://docs.scrapy.org/en/latest/intro/tutorial.html   http://scrapy-chs.readthedocs.io/zh_CN/0.24/ (中文的)


二 . 遇到的问题及解决办法:

1. 安装Twisted的时候, 致命错误: Python.h:没有那个文件或目录, gcc......

缺少python-dev,     2. sudo apt-get install python-dev 

2. 安装scrapy-master时,报pyasn1 相关错误

缺少pyasn1, 6. sudo apt-get install pyasn1    

3. 启动scrapy 时报错

TLSVersion.TLSv1_1: SSL.OP_NO_TLSv1_1,
AttributeError: ‘module’ object has no attribute ‘OP_NO_TLSv1_1’

Twisted版本过高,原下载并安装的是17.5.0, 官网上最新的了, 回退到16.4.1  即  10. sudo pip install Twisted==16.4.1    // 两个等号 ==

另有说可以用虚拟环境的方法,不过没试,也列在下面吧:

使用虚拟环境
官方安装文档[3]中有提到推荐使用virtual environment的方式安装scrapy,更具体参考这一节install scrapy using virtualenv 和 virtualenv的官方指南
shell过程如下
$ sudo pip install virtualenv  #安装虚拟环境工具
$ virtualenv ENV  #创建一个虚拟环境目录
$ source ./ENV/bin/activate  #激活虚拟环境, 注意下面$前面的(Env)
(ENV) $ pip install Scrapy
(ENV) $ deactivate # 禁止激活
$ rm -r ENV #移除虚拟环境目录


三. ubuntu上安装python3 (3+)

实际上主要依赖下面这些包,逐个安装后即是python3(本机是python3.5)及对应的dist-packages.

sudo apt-get install python3-pip   (pip3)
sudo apt-get install python-dev  libevent-dev libssl-dev   (aliyun needs libssl-dev)
pip3 install lxml
pip3 install pyquery
pip3 install Pillow

sudo pip3 install scrapy

安装scrapy后,命令行中执行下面命令可看到当前安装的scrapy 版本,即1.5.0

scrapy version   (1.5.0)


四. 定时任务的配置

config cron:
a. vim /etc/rsyslog.d/50-default.conf , remove # before #cron
b. service rsyslog restart 
c. service cron restart    //log will be stored in /var/log/cron.log

define jobs in crontab:
a. crontab -e
  0 0 6 * * ?  CMD_TO_Exec 
b.  crontab -l     // list all the jobs in crontab


更详细的crontab 配置及参数说明,参考: https://www.cnblogs.com/junrong624/p/4239517.html



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值