Win32 Python3.6爬虫-Scrapy简介与安装

一、Scrapy介绍

Scrapy是Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。

​ ——来源于百度百科

使用Scrapy爬取一个网页需四步骤:

  1. 创建一个Scrapy项目;
  2. 定义Item容器;
  3. 编写爬虫;
  4. 储存内容。

下图展现的是Scrapy的架构,包括组件及在系统中发生的数据流(图中绿色箭头)。

《Win32 Python3.6爬虫-Scrapy简介与安装》 Scrapy

引擎(Scrapy Engine)

爬虫工作的核心,负责控制数据流在系统中所有组件中流动,并在相应动作发生时触发事件。

调度器(Scheduler)

从引擎接受request并将他们入队,以便之后引擎请求他们时提供给引擎。

下载器(Downloader)

下载器负责获取页面数据并提供给引擎,而后提供给spider。

爬虫(Spiders)

用户编写用于分析由下载器返回的response,并提取出item和额外跟进的URL的类。

Item Pipeline负责处理被spider提取出来的item。典型的处理有清理、验证及持久化(例如存取到数据库中)。

接下来是两个中间件,它们用于提供一个简便的机制,通过插入自定义代码来扩展Scrapy的功能。

下载器中间件(Downloader middlewares)

在引擎及下载器之间的特定钩子(specific hook),处理Downloader传递给引擎的response。

Spider中间件(Spider middlewares)

在引擎及Spider之间的特定钩子(specific hook),处理spider的输入(就是接收来自下载器的response)和输出(就是发送items给item pipeline以及发送requests给调度器)。

二、安装

命令窗口输入:pip install scrapy,顺利的话能安装成功。安装完成之后输入scrapy,出现如下图所示,才表明完全安装成功:

《Win32 Python3.6爬虫-Scrapy简介与安装》 运行Scrapy

若不能一次性成功安装,则需安装对应版本的以下模块:

pip install wheel
pip install lxml
# 安装lxml3.8.0后,提示etree找不到;改安装3.7.3版才解决这个问题
pip install pyOpenSSL

然后,http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 下载相应版本的Twisted-17.5.0。命令窗口切换到该文件所在目录,pip安装,代码如下:

pip install Twisted‑17.5.0‑cp36‑cp36m‑win32.whl # 包含后缀的文件全名

这样,Scrapy应该就能正常安装了。

但是,有的电脑还是Scrapy不能成功运行,提示没有win32api,则需安装win32py,下载地址:https://sourceforge.net/projects/pywin32/files/ ,下载相应版本的exe文件,运行,安装成功后,Scrapy就能成功运行了。

以上是我在安装过程中遇到的问题,如果有其他错误,欢迎交流探讨!

安装只是第一步,后续将用Scrapy创建项目,以便熟悉。

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