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

来源:互联网 发布:三亚市网络监管 编辑:程序博客网 时间:2024/05/01 23:55


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

一. 安装过程

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 #移除虚拟环境目录



原创粉丝点击