python-scrapy安装(win7系统)

前言

scrapy是一个流行的爬虫框架。架构分层,适合复杂项目并易于扩展。封装异步包,实现并发请求和分布式部署。
框架架构介绍

  • 引擎(scrapy engine)
    处理整个系统的数据流,触发事务。

  • 调度器(scheduler )
    接收引擎发过来的请求,压入队列,去重,决定下一次请求的url。

  • 下载器(downloader)
    根据url请求网页,下载网页原始内容,并将网页内容返回给spiders。(基于twisted,异步请求)

  • 爬虫(spiders)
    从网页信息中提取实体信息,返回单个实体item。
    也可以提取链接供之后爬取。

  • 管道(pipeline)
    接收单个实体item,好像生产线一样进行加工。
    验证item是否有效,持久化数据(写csv或数据库)。

  • 下载中间件、爬虫中间件、调度中间件(middle)
    上述主要模块无法满足的更细化或更前置的需求。例如django也有中间件,需求:用户进入视图函数前新建数据库连接、验证用户sessionid,请求后要销毁数据库链接。

运行流程

  1. 引擎从调度器里去一个url待请求
  2. 引擎接收到后封装为一个请求,交给下载器
  3. 下载器请求网页,返回response
  4. 爬虫解析response得到实体item
  5. item交给管道进行处理

安装scrapy
scrapy依赖包较多,有些包用c写的需要vc编译器。

方法一(不推荐):anaconda, 自带上千种编译好的科学计算相关包。优点自带编译后的scrapy。缺点:体积大,下载包300m,安装一个多G。主要是科学计算领域,大多数包用不上,flask django又没有需要新下。miniconda是anaconda的精简版本。版本有限。缺少.net会导致无报错失败。
方法二(推荐):pip install scrapy 哪些包报错需要vc编译器的,再单独去发布编译后的包的网站下载对应平台编译后的.whl文件安装。

正文(开始安装)
1.安装twisted
首先尝试pip install scrapy,发现会卡到twisted包。
这个网站python extentions for windows 的用法,多用ctrf+F找到想要的包。
这是twisted的链接https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted。
因为我的环境(老师推荐),我选择的是“Twisted‑18.7.0‑cp36‑cp36m‑win_amd64.whl”。后来发现不太行,我就用了另一种:Twisted-17.1.0-cp36-cp36m-win_amd64.whl。总之而言,这两种都可以,看个人情况。
下载后cd到文件所在目录pip install Twisted‑18.7.0‑cp36‑cp36m‑win_amd64.whl
2. 安装scrapy

pip install scrapy

然后会安装约十个依赖包,显示安装成功。等于说只安装了一个.whl文件,并不难。如果你遇到某个包出现不能安装,试试上一步的解决方式。

3.安装pywin32
运行时发现还少个东西,pywin32不少windows底层调用相关的功能都会用到。原来记得要安装要下载相应的exe文件。
现在发现已支持pip安装

pip install pywin32

这时scrapy项目已经能运行。
(选做)安装完pywin32再cd到python解释器下的Scripts目录,进一步安装一个脚本获得更底层的win32api功能。

cd C:/python36/Scripts
python pywin32_postinstall.py -install

执行完后发现python解释器根目录多了俩dll文件。

你可能感兴趣的:(python-scrapy安装(win7系统))