Mac使用Scrapy爬虫(一)

近期项目需要,要对一个动态加载的网站进行爬虫。而且由于对于性能要求较高,且需要数据持久化,因此采用现有较或的爬虫框架Scrapy。
Scrapy最早是在Python2下完成。由于现在Python3的发展,Scrapy对于Python3已经有了非常好的支持。目前2.7和3.4或以上的python版本都可以支持Scrapy。本次先安装Scrapy

一.安装Virtualenv(非必须,但建议):

scarpy官网提供了各种版本的安装方法,在此讲述mac版本的:
由于传统pip安装下,安装的python模块都会放在一个系统Library之中,这样如果同一模块在不同项目中需求的版本不同的话,就会产生冲突。因此virtualenv应用而生。他是一个python的虚拟环境。激活他之后,系统默认python模块的地址会发生相应变化,因此在给环境下安装的模块,不会影响到该环境之外,也就是产生了一个隔离沙箱。
MacOs下可以使用homebrew安装virtualenv:
$:brew install virtualenv
安装完成之后运行 $: virtualenv –version查看是否安装成功
安装成功之后可以开始创建一个环境,例如叫ScrapyEnv(专门用来Scrapy爬虫的环境)
$:virtualenv ScrapyEnv
然后激活沙箱:
$:source ScrapyEnv/bin/activate
可以看到在命令行前面会呈现如下:

《Mac使用Scrapy爬虫(一)》 之前

《Mac使用Scrapy爬虫(一)》 之后

这样证明已经激活了该环境,之后使用
$:deactivate
命令来退出此环境

二.安装Scrapy所需要依赖

《Mac使用Scrapy爬虫(一)》 所需依赖

需要先安装Scrapy所需依赖。对于Python3+来说,除了twisted模块之外,其他四项在运行pip install Scrapy时候都会自动安装。因此我们需要先安装twisted模块,否则会导致Scrapy安装失败。我们使用官网下载,自行安装twisted。

twisted下载地址:
https://pypi.org/project/Twisted/#files

Window版本,可以现在twisted官网下载响应的whl文件,然后在pip安装wheel模块之后,运行

$:pip install ./(the source of the whl file you just download)

即可安装。

MacOs版本,需要下载源码版本,然后cd进入该文件夹(别忘了,在激活virtualenv之后在进入),运行python setup.py install。如果其中报错,就按照提示安装相应的模块即可。

三.安装Scrapy

由于Scrapy需要使用C lang 的编译器和development headers(官网用词,不知含义),在mac系统下,以上是有xcode提供,因此先安装xcode命令行工具:
$:xcode-select –install
以来安装完成之后,即可运行pip install scrapy,运行完成之后,运行
$:Scrapy startproject yourProject 进行创建。可以看到,在该目录下产生了一个文件夹。

四.Scrapy项目结构

《Mac使用Scrapy爬虫(一)》 项目结构图

crawlServer为我创建的project。

其中:

1、spiders文件夹:爬虫文件主目录

2、
init.py:将改文件夹变为一个python模块

3、items.py:定义所需要爬虫的项目

4、middlewares.py:爬虫中间件

5、pipelines.py:管道文件

6、settings.py:设置文件

    原文作者:persiT
    原文地址: https://www.jianshu.com/p/a87dee628cc2
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞