目录

网络爬虫之:Scrapy使用详解(一)

一、前言:

  • ScrapyPython开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。
  • 之前在大学的时候学习过webMagic这个使用java语言开发的网络爬虫框架, webmagic是一个参考了scrapy架构的网络爬虫。喜欢用java开发的同学可以去看下,值得推荐的一个网络爬虫框架。
  • 而我现在为什么要来学习scrapy呢?虽然本身自己是一个android开发者,但是深处这个瞬息万变的编程时代,技术日新月异,python作为科学计算的首选语言,如果你想往数据挖掘与分析、人工智能等领域发展,python是一个不错的工具。感兴趣的同学可以一起学习。

二、Scrapy的安装

  • 我们来看一下scrapy官网的安装教程

      ## Installing Scrapy
    
      Scrapy runs on Python 2.7 and Python 3.3 or above.
    
      If you’re using [Anaconda](http://docs.continuum.io/anaconda/index) or [Miniconda](http://conda.pydata.org/docs/install/quick.html), you can install the package from the [conda-forge](https://conda-forge.github.io/) channel, which has up-to-date packages for Linux, Windows and OS X.
    
  • 上描述可知,scrapy已经支持python3x的版本了。当然,新入手python的开发者推荐从python3x开始。

  • 在安装Scrapy之前,我想先说一个东西:virtualenv,virtualenv是一个独立的python环境,使用他的好处很多,我觉得不错的有: 1、virtualenv可以为你提供一个独立于本地的python环境, 2、每一个项目都可以开辟一个virtualenv,这样即使每个项目要求的python版本不同,依赖库不同,也不会有影响 3、使用virtualenv进行开发,开发好之后,你可以将其打包到远程服务器中,只要服务器的python版本一致,基本都可以保证其正常运行。

virtualenv的安装

  • pip安装virtualenv:

    1
    
    pip3 install virtualenv
    

使用案例

  • 以开发一个新的项目为例,需要一套独立的Python运行环境,可以这么做:

  • 第一步,创建目录,进入创建的目录:

    1
    2
    
    mkdir pyproject
    cd pyproject/
    
  • 第二步,创建独立的Python运行环境,命名为venv

    1
    
    virtualenv --no-site-packages venv
    
  • 命令virtualenv就可以创建一个独立的Python运行环境,加上了参数--no-site-packages目的是为了让已经安装到系统Python环境中的所有第三方包都不会复制过来。

  • 新建的Python环境被放到当前目录下的venv目录。有了venv这个Python环境,可以用source进入该环境:

    1
    2
    
    source venv/bin/activate
    (venv)Mac:pyproject michael$
    
  • venv环境下,用pip安装的包都被安装到venv这个环境下,系统Python环境不受任何影响。也就是说,venv环境是专门针对pyproject这个应用创建的。

  • 退出当前的venv环境,使用deactivate命令:

    1
    2
    
    (venv)Mac:pyproject michael$ deactivate 
    Mac:pyproject michael$
    
  • 这样就又回到了正常的环境,现在pippython均是在系统Python环境下执行。

小结

  • virtualenv通过把系统Python复制一份到virtualenv的环境来创建一个独立的python开发环境,用命令source venv/bin/activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令pythonpip均指向当前的virtualenv环境。

  • Ok,回到正题,你可以选择在virtualenv中开发,也可以选择在本地环境开发。接下来我们开始安装Scrapy

  • 如果你的python环境是3x,执行下面指令安装即可

      pip3 install Scrapy
    
  • 如果你还是Python2x的版本,则执行

      pip install Scrapy
    
  • 没错,python安装第三方库就是如此简单,因为pip,整个世界都美好了

  • OK,在下一章开始,我们将通过学习官方教程创建一个Scrapy项目进行我们的爬虫之旅