Scrapy环境的搭建

升级Python3

之前使用Scrapy开发爬虫都是在Python2的环境下进行,最近有看到有些工具包宣称不再对Python2提供更新和维护, 可以看出Python3是发展的趋势。

而早前Scrapy已经支持了Python3这让我意识到必须尽快将我的工作环境迁移到Python3, 毕竟习惯是很可怕的一件事。

尝试

环境:

  • Win7
  • Python3.5.2

依靠直觉我们会利用pip工具直接安装Scrapy:

pip install scrapy

不幸的是得到了一堆错误。

对照官网文档关于Scrapy依赖的描述,使用工具pip list查看我们依赖的安装情况很容易发现Twisted的安装出现了问题。

系统提示我们安装VC++工具包:

error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": ht
tp://landinghub.visualstudio.com/visual-cpp-build-tools

但是之前我在2的环境下是可以正常使用Scrapy的,系统环境不会有问题,也许可能存在其他方面的问题。

再回到官方文档发现一些信息:

The minimal versions which Scrapy is tested against are:
    Twisted 14.0
    lxml 3.4
    pyOpenSSL 0.14

这是官方经过测试的依赖的最小版本,既然Twisted安装失败了,那么尝试指定安装Twisted的14.0版本试试看。

pip install Twisted==14.0

安装成功!

Installing collected packages: Twisted
Successfully installed Twisted-14.0.0

解决了依赖问题我们再重新安装Scrapy

pip install scrapy
Installing collected packages: PyDispatcher, pyasn1-modules, service-identity, scrapy
Successfully installed PyDispatcher-2.0.5 pyasn1-modules-0.2.1 scrapy-1.5.0 service-identity-17.0.0

一切顺利,我们输入scrapy指令测试下:

import twisted.persisted.styles  # NOQA
ImportError: No module named 'twisted.persisted'

看来我们的Twisted包版本还是有点低,少了某些功能模块,网上查阅资料是要大于15.5, 执行:

pip install twisted==15.5 --upgrade

升级后重新执行scrapy

(root) C:\>scrapy
Scrapy 1.5.0 - no active project

Usage:
scrapy <command> [options] [args]

Available commands:
bench         Run quick benchmark test
fetch         Fetch a URL using the Scrapy downloader
genspider     Generate new spider using pre-defined templates
runspider     Run a self-contained spider (without creating a project)
settings      Get settings values
shell         Interactive scraping console
startproject  Create new project
version       Print Scrapy version
view          Open URL in browser, as seen by Scrapy

[ more ]      More commands available when run from project directory

Use "scrapy <command> -h" to see more info about a command

至此Scrapy安装成功。

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