前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Scrapy笔记零 环境搭建与五大组件架构

Scrapy笔记零 环境搭建与五大组件架构

作者头像
十四君
发布2019-11-26 13:30:19
4870
发布2019-11-26 13:30:19
举报
文章被收录于专栏:Urlteam

环境搭建上参看官方说明文档:http://scrapy-chs.readthedocs.io/zh_CN/1.0/intro/install.html

环境搭建:

windows环境下:

从 https://www.python.org/download/ 上安装Python 2.7.

您需要修改 PATH 环境变量,将Python的可执行程序及额外的脚本添加到系统路径中。将以下路径添加到 PATH 中:

代码语言:javascript
复制

 
 C:\Python2.7\;C:\Python2.7\Scripts\;
     1
  C:\Python2.7\;C:\Python2.7\Scripts\;   

  

请打开命令行,并且运行以下命令来修改 PATH:

代码语言:javascript
复制

 c:\python27\python.exe c:\python27\tools\scripts\win_add2path.py
     1
  c:\python27\python.exe c:\python27\tools\scripts\win_add2path.py   
   

关闭并重新打开命令行窗口,使之生效。运行接下来的命令来确认其输出所期望的Python版本:

代码语言:javascript
复制
 
 <span class="n">python</span> <span class="o">--</span><span class="n">version</span>
     1
  <span class="n">python</span> <span class="o">--</span><span class="n">version</span>   
  
代码语言:javascript
复制

 <span class="n">pip</span> <span class="o">--</span><span class="n">version</span>
     1
  <span class="n">pip</span> <span class="o">--</span><span class="n">version</span>   
 
  • 到目前为止Python 2.7 及 pip 已经可以正确运行了。接下来安装Scrapy:
代码语言:javascript
复制

 pip install Scrapy
     1
  pip install Scrapy   
 

Ubuntu 9.10及以上版本

  • 不要 使用Ubuntu提供的 python-scrapy ,相较于最新版的Scrapy,该包版本太旧,并且运行速度也较为缓慢。
  • 您可以使用官方提供的 Ubuntu Packages 。该包解决了全部依赖问题, 并且与最新的bug修复保持持续更新。

如果您更倾向于本地构建python的依赖,而不是使用系统库(system package), 您需要先安装非python的依赖:

代码语言:javascript
复制

   sudo apt-get install python-dev python-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev
     1
   sudo apt-get install python-dev python-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev   
  •         您可以使用 pip 安装Scrapy:
代码语言:javascript
复制

  pip install Scrapy
     1
  pip install Scrapy   

Scrapy五大组件介绍

Scrapy框架主要由五大组件组成,它们分别是调试器(Scheduler)、下载器(Downloader)、爬虫(Spider)和实体管道(Item Pipeline)、Scrapy引擎(Scrapy Engine)。下面我们分别介绍各个组件的作用。

调度器

调度器,说白了可以想像成一个URL(抓取网页的网址或者说是链接)的优先队列,由它来决定下一个要抓取的网址是什么,同时去除重复的网址(不做无用功)。用户可以跟据自己的需求定制调度器。

下载器

下载器,是所有组件中负担最大的,它用于高速地下载网络上的资源。Scrapy的下载器代码不会太复杂,但效率高,主要的原因是Scrapy下载器是建立在twisted这个高效的异步模型上的(其实整个框架都在建立在这个模型上的)。

爬虫

爬虫,是用户最关心的部份。用户定制自己的爬虫,用于从特定的网页中提取自己需要的信息,即所谓的实体(Item)。用户也可以从中提取出链接,让Scrapy继续抓取下一个页面。

实体管道

实体管道,用于处理爬虫提取的实体。主要的功能是持久化实体、验证实体的有效性、清除不需要的信息。

Scrapy引擎

Scrapy引擎是整个框架的核心。它用来控制调试器、下载器、爬虫。实际上,引擎相当于计算机的CPU,它控制着整个流程。

Scrapy运行流程

Scrapy运行流程大概如下:

  1. 首先,引擎从调度器中取出一个链接(URL)用于接下来的抓取
  2. 引擎把URL封装成一个请求(Request)传给下载器,下载器把资源下载下来,并封装成应答包(Response)
  3. 然后,爬虫解析Response
  4. 若是解析出实体(Item),则交给实体管道进行进一步的处理。
  5. 若是解析出的是链接(URL),则把URL交给Scheduler等待抓取

本文链接地址: Scrapy笔记零 环境搭建与五大组件架构

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-06-242,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境搭建:
    • windows环境下:
      • Ubuntu 9.10及以上版本
      • Scrapy五大组件介绍
        • 调度器
          • 下载器
            • 爬虫
              • 实体管道
                • Scrapy引擎
                • Scrapy运行流程
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档