Windows10 环境下安装 Scrapy 框架的一些方法及避坑指南 - 三皮毛

时间:2024-03-11 10:49:02

Windows10 环境下安装 Scrapy 框架的一些方法及避坑指南

第一次在博客园发表自己的随笔,文章如有学术不精、荒谬不通与疏忽大意之处,还望各位围观的高人不吝赐教,谢谢!

目录:

  前言

  scrapy框架原理介绍

  笔者本机环境(参考)

  python3安装指南

  scrapy框架安装指南

前言:

  前些天导师安排自行入门爬虫的任务,于是笔者查阅网络上的 scrapy 的安装教程。无奈发现不少文章都是只顾一面,让笔者在安装的时候走了非常多的弯路。为此,笔者决定将自己的安装方法及遇到难题的解决方法记录下来,以便后续查阅复习。

Scrapy框架原理介绍:

  Scrapy 是 Python 开发的一种快速抓取框架,用于抓取 web 站点并从页面中提取结构化的数据。Scrapy 用途广泛,可以用于数据挖掘、监测及自动化测试。Scrapy 框架有着诸多优点,其中最吸引人的地方在于它是一个框架,用户可以根据自己的需求对其进行方便的修改。这也意味着它非常容易上手。

  下图是官方给出的框架原理图,在此做了汉化

  Scrapy 框架的构成与功能实现需要不同模块的分工合作

  • Scrapy引擎(Scrapy Engine)

    这是整个框架的核心,用于控制调度器、下载器、爬虫、相当于 cpu ;

  •  调度器(Scheduler)

    可以当成一个抓取网页的网址或链接,负责接受 scrapy 引擎发送的所有请求(Request),并按照一定方式整理入队列,当引擎需要时负责返回给引擎。用户可以根据需要定制调度器;

  • 数据管道(Item Pipeline)

    用于处理爬虫(spider)爬取的信息(item),并进行后期的分析、过滤、存储等操作;

  • 下载器(Downloader)

    负责下载 scrapy 引擎下发的所有请求(request)并将其获取到的响应(response)交还给引擎,然后由 scrapy 引擎分发给爬虫进行处理。主要建构于 twisted 这种高效的异步模型上;

  • 爬虫(Spider)

    负责处理所有的响应(response)并从中提取数据,获取i信息(item)字段所需要的数据,并将需要跟进的 url 返回给 scrapy 引擎

  • 下载器中间件(Downloader Middlewares)

    自定义扩展下架功能的组件,用户可自行定义

  • 爬虫中间件(Spider Middlewares)

    自定义扩展和操作引擎的功能组件

笔者本机环境(参考)

  系统:Windows 10 Professional x64 2004 (19041.508)

  CPU:Intel Core i5-9300H 

  RAM:20 GB

以下安装教程皆以上文列举的环境作为参考,亲测有效。

Python3 安装指南

  由于 Scrapy 框架是 python 实现的,为了让读者以最短的时间正确安装好 scrapy,笔者决定在此赘述 python3 的安装方法。如读者已安装好,可自行跳过。

  与时俱进,我们选择安装 python 3.8.5

  1. 下载 Python 3.8.5

    python 3.8.5 Windows 10 可执行文件 官方下载链接:https://www.python.org/ftp/python/3.8.5/python-3.8.5.exe,直接点击下载即可;

  2. 安装 python 3.8.5

    python 的安装比较简单,若不需要修改安装路径,可直接连续点击下一步直到完成安装即可;

    默认安装位置:C:\Users\*用户名*\AppData\Local\Programs\Python\Python38(很重要,下面的操作需要用到),以下是笔者的安装目录

              

    Tips: 默认情况下,Appdata目录是隐藏的,如果需要让其可见,需要在文件资源管理器上方的选项卡”查看“内将“隐藏的项目名”复选框选中:

    

  3. 配置环境变量

    Tips:   将 Python 根目录导入到系统环境变量,是为了能在命令提示符内直接执行 python 相关命令,而不用每次麻烦地找到 python 的安装目录下再打开 cmd 运行 python

    a. 首先,确认 python 安装完成后,在任务栏的搜索栏里输入“编辑系统环境变量”,打开设置界面

     

    b. 选择环境变量

     

    c. 在“系统变量”一栏找到“PATH”并双击进入编辑

     

    d.  右侧选择“新建”或“浏览”,将刚才安装好的 python38 与其目录下的 Scripts 文件夹两个路径分别添加到其中,如下图红框所示

     

     e. 点击“确定”直到退出所有窗口,打开 cmd ,分别运行如下两条命令以验证 python 是否安装完成

1 python -V
2 pip -V

         如果安装成功会有显示 python 与 pip 的版本号,如下所示

     

    f. 至此,你已经可以在你的电脑上进行 python 的开发了!

     Tips1 : 将常用软件的根目录按如上方法添加到 PATH 中 ,就可以在别人面前用电脑时直接打开 cmd 通过命令启动而不是傻乎乎地用鼠标双击它的快捷方式启动。每天一个装逼小技巧get!

     Tips2 : 想在文件资源管理器的当前目录下打开 cmd(非管理员模式),只需在文件资源管理器的地址栏中输入 cmd 并按回车即可,不用在 shell 中通过多次 dir 与 cd 打开,省时省事省心

     Tips3: 个别情况下会出现在遵循上述步骤安装好 Python 后在 cmd 中运行命令 python 后不会进入 python 的 shell 而是打开了 MIcrosoft Store 的情况,这是因为在系统环境变量的用户变量(或系统变量)中,python 路径的命令执行优先级低于某些 Windows 自带的命令,解决方法如下:

    • 首先,按照上述方法打开”环境变量“窗口,在上方的”用户变量“中找到”Path“并双击进入编辑

      

    • 右侧选择“新建”,将 Python 的安装目录和 Python 安装目录下的 Script 文件夹两个路径分别添加到其中,并分别选定两个路径,将其上移到路径 %USERPROFILE%\AppData\Local\Microsoft\WindowsApps 的上面,如下所示

      

    • 若用户变量中没有 %USERPROFILE%\AppData\Local\Microsoft\WindowsApps 路径,则检查系统变量是否存在这个路径,并按上一步方法将 Python 两个路径上移。至此,问题会被解决

Scrapy 框架安装指南

  scrapy 框架的安装可以直接通过 pip 进行,十分方便。但是经笔者亲测,在从未安装过 Visual Studio 或 Visual C++环境缺失的 Windows 下直接运行 pip install scrapy 会有极大的可能性在安装 Scrapy 框架的一个必须组件 twisted 时 shell 窗口红字报错:"缺少Microsoft Visual C++ 2014 Redist"并导致安装失败,scrapy 也无法运行。在此,笔者决定先行介绍安装 twisted 的方法。

  解决方法一:通过直接下载 twisted 的 Windows 二进制文件并直接 pip 安装 

    1. 访问 https://www.lfd.uci.edu/~gohlke/pythonlibs/并在 Index by date 中找到 Twisted 条目

     

    2. 点击对应的版本进行下载

     

    3. 在文件下载的位置打开 cmd ,运行下列命令,直接安装 twisted

pip install *刚下载的文件名*

  解决方法二:下载 Visual C++ Build Tools,补齐运行环境后再直接安装 scrapy

    1. 下载 Visual C++ Build Tools 

      Visual C++ Build Tools 可执行文件 http://go.microsoft.com/fwlink/?LinkId=691126 ,直接点击下载即可

    2. 安装

      安装过程非常简单,直接点击”下一步“直至安装完成即可

      

    3. 打开 cmd,运行以下命令即可完成安装

1 pip install twisted

   在通过上述方法安装好 twisted 后,在 cmd 中直接运行如下命令,安装 scrapy

1 pip install scrapy

  

  验证 scrapy 是否安装正确,只需在 cmd 中运行如下命令,若安装成功,会有版本号提示

  

  至此,你已经可以在你的电脑上进行 scrapy 爬虫的开发了!