scrapy作为一个成熟的爬虫框架,网上有大量的相关教程供大家选择,尤其是关于其的安装步骤更是丰富的很。在这里我想记录下自己的相关经验,希望能给大家带来点帮助。

在scrapy0.24版之前,安装scrapy前需要自己手动安装它的相关依赖,尤其是在windows上,更是有很多坑,甚至会和注册表信息有关系。随着新版本的推出,它的安装也越来越人性化,大部分依赖会自己解决。那么本文就基于最新的scrapy1.2在windows上的安装来举例讲解。

首先来看看官方文档给出的相关步骤:

在scrapy1.1及以后,其已经支持python3的环境了,不过需要python3.3及以上版本。但是在windows环境中仍然只支持python2.7,至于原因上图中的Note已经给出说明:Twisted 在windows中不支持python3。

所以第一步需要安装python2.7,至于其安装和环境变量的添加这里就不再细说了,网上已经烂大街了。不过还是建议大家安装python2.7.9及以上的Python2版本,因为里面自带pip,这样就省了大家执行关于pip的安装操作了。

根据文档下载并运行pywin32,然后就可以输入命令安装scrapy了, pip install scrapy。

就是这样,仍然发生了不可预知的错误。首先pip install的时候需要换源,不然下载东西会超时或者不能找到合适的模块。至于换源这里简单的说一下,如果想要临时的使用新源的话,可以输入命令:

pip install scrapy -i https://pypi.douban.com/simple

如果想要永久的使用新源的话需要在配置文件pip.ini中写入, 该文件需要在本机Users文件夹下中的pip文件夹下新建,eg我的文件路径“C:\Users\Administrator\pip\pip.ini”:

[global]
index-url = http://pypi.douban.com/simple
trusted-host = pypi.douban.com

之后安装的scrapy可能会因为种种原因导致某些模块没有安装成功,最后安装失败。那么就需要根据log信息挨个去补充安装,实在是十分麻烦。

那有没有傻瓜式的一步安装呢?只需要输入一条指令就可以安装scrapy呢?

答案是肯定的。官方文档介绍了另一种方法:

那么Anaconda是个什么东西呢?

Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。之前在windows环境中安装pandas,PIL等真心的不容易,用了它以后一切都那么的轻松。

我们可以到其官网去下载这个软件,选择适合你环境的版本。然后就像普通的软件一样双击运行安装,你可以在弹出的高级选项中全部打钩,这样就不用自己去添加环境变量了。

安装成功以后,打开cmd,输入conda install scrapy 就可以安装了。

但是当我的环境为windows64位,python2.7也是64位时,按照上述命令安装scrapy以后,运行scrapy时报错:

出现上述错误的解决方法是:将C:\OpenSSL-Win32\bin中的libeay32.dll和ssleay32.dll放到C:\windows\system32下。这样scrapy就可以正常运行了。如果没有OpenSSL-Win32,那就去网上下一个,或者在C:\windows\system32文件夹下删除libeay32.dll和ssleay32.dll,最好还是替换,删除可能会引起其他的问题。

												

scrapy系列(一)——Python 爬虫框架 Scrapy1.2 Windows 安装教程的更多相关文章

  1. Python爬虫框架Scrapy教程(1)—入门

    最近实验室的项目中有一个需求是这样的,需要爬取若干个(数目不小)网站发布的文章元数据(标题.时间.正文等).问题是这些网站都很老旧和小众,当然也不可能遵守 Microdata 这类标准.这时候所有网页 ...

  2. 教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神

    本博文将带领你从入门到精通爬虫框架Scrapy,最终具备爬取任何网页的数据的能力.本文以校花网为例进行爬取,校花网:http://www.xiaohuar.com/,让你体验爬取校花的成就感. Scr ...

  3. 【转载】教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神

    原文:教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神 本博文将带领你从入门到精通爬虫框架Scrapy,最终具备爬取任何网页的数据的能力.本文以校花网为例进行爬取,校花网:http:/ ...

  4. Linux 安装python爬虫框架 scrapy

    Linux 安装python爬虫框架 scrapy http://scrapy.org/ Scrapy是python最好用的一个爬虫框架.要求: python2.7.x. 1. Ubuntu14.04 ...

  5. Python爬虫框架Scrapy实例(三)数据存储到MongoDB

    Python爬虫框架Scrapy实例(三)数据存储到MongoDB任务目标:爬取豆瓣电影top250,将数据存储到MongoDB中. items.py文件复制代码# -*- coding: utf-8 ...

  6. Python爬虫框架Scrapy

    Scrapy是一个流行的Python爬虫框架, 用途广泛. 使用pip安装scrapy: pip install scrapy scrapy由一下几个主要组件组成: scheduler: 调度器, 决 ...

  7. 《Python3网络爬虫开发实战》PDF+源代码+《精通Python爬虫框架Scrapy》中英文PDF源代码

    下载:https://pan.baidu.com/s/1oejHek3Vmu0ZYvp4w9ZLsw <Python 3网络爬虫开发实战>中文PDF+源代码 下载:https://pan. ...

  8. 《精通Python爬虫框架Scrapy》学习资料

    <精通Python爬虫框架Scrapy>学习资料 百度网盘:https://pan.baidu.com/s/1ACOYulLLpp9J7Q7src2rVA

  9. 常见Python爬虫框架你会几个?

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:三名狂客 正文 注意:如果你Python技术学的不够好,可以点击下方链接 ...

随机推荐

  1. Spark基础脚本入门实践3:Pair RDD开发

    Pair RDD转化操作 val rdd = sc.parallelize(List((1,2),(3,4),(3,6))) //reduceByKey,通过key来做合并val r1 = rdd.r ...

  2. @pathvariable和@RequestParam的区别

    @PathVariable 获取的是请求路径url中的值: (http://xxx.xxx.com/get_10.html,侧重于请求的URL路径里面的{xx}变量 ) //获取url中某部分的值 @ ...

  3. 【xsy2305】喽 计算几何

    UPD:这个做法被hack了 题目大意:给你$n$个红点和$m$个黑点,问你至少需要保留多少个黑点,才能用由黑点组成的凸包包住所有红点. 数据范围:$n≤10^5$,$m≤500$ 首先,我们将红点和 ...

  4. Comparable接口和Comparator接口的不同用法

    两者都可用来在定义比较方法,然后用在排序中. Comparable是类本身继承的接口 Comparator实在类外定义一个排序的类 比较而言,觉得Comparator更灵活一些,但是Comparabl ...

  5. VMware12 安装 Ubuntu18.04

    安装Ubuntu18.04虚拟机 Ubuntu获取地址: 官网:https://www.ubuntu.com/download/server 清华镜像站:https://mirrors.tuna.ts ...

  6. JsExcelXml.js的源码

    var JSXmlExcel = { ConvertXmlDoc: function (text) { var xmlDoc = null; try { xmlDoc = new ActiveXObj ...

  7. list源码2(参考STL源码--侯捷):constructor、push_back、insert

    list源码1(参考STL源码--侯捷):list节点.迭代器.数据结构 list源码2(参考STL源码--侯捷):constructor.push_back.insert list源码3(参考STL ...

  8. android开发(2):多页面的实现 | Fragment的创建与使用

    APP中出现多个页面再常见不过了.使用activity与fragment都能实现多页面,这里使用fragment来实现.延续“知音”这个APP的开发,之前已经创建了底部导航条与mainactivity ...

  9. 分布式文件系统FastDFS安装教程

    前言 FastDFS(Fast Distributed File System)是一款开源轻量级分布式文件系统,本文不讲解原理和架构,只是在个人使用部署过程中耗费了好长时间和精力,遇到了很多的坑,于是 ...

  10. 原生js格式化json工具

    json格式化小工具,原生js编写,直接上代码: <!DOCTYPE html> <html lang="en"> <head> <met ...