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. 全网最详细的一个超级好用的命令行工具【Cmder】是什么?

    不多说,直接上干货! Cmder是什么? 一款Windows环境下非常简洁美观易用的cmd替代者,它支持了大部分的Linux命令.支持ssh连接linux,使用起来非常方便.比起cmd.powersh ...

  2. 《Kubernetes权威指南》——Kubelet运行机制与安全机制

    1 Kubelet运行机制 Kubenetes集群中的每个Node节点都会启动一个Kubelet服务进程用于处理Master下发到该节点的任务,管理Pod及其中的容器 Kubelet进程在API Se ...

  3. CSS 基础:定位元素(3)<思维导图>

    这段时间利用一下间隙时间学习了CSS的基础知识,主要目的是加深对CSS的理解,虽然个人主要工作基本都是后台开发,但是个人觉得系统学习一下CSS的基础还是很有必要的.下面我学习CSS时做的思维导图(全屏 ...

  4. apache tomcat搭建负载均衡(实现集群中的session同步)

    原理:tomcat 做个WEB服务器有它的局限性,处理能力低,效率低.承受并发小(1000左右).但目前有不少网站或者页面是JSP的.并采用了tomcat做为WEB,因此只能在此基础上调优. 目前采取 ...

  5. C# GDI+编程之绘图

    在了解绘图之前,我们先讲几个预备知识 一.坐标系 坐标系是图形设计的基础.GDI+使用三个坐标空间:世界.页面和设备,其中,世界坐标是用于建立特殊图形世界模型的坐标系,也是在.NET Framewor ...

  6. oracle sql优化的几种方法

    1.最基本最简单的方式是减少访问数据库的次数.oracle在内部执行了许多工作,比如解析SQL语句, 估算索引的利用率,  读数据块等等,都将大量耗费oracle数据库的运行 2.选择最有效率的表名顺 ...

  7. [PHP] 算法-统计一个数字在排序数组中出现的次数的PHP实现

    统计一个数字在排序数组中出现的次数. 1.有序的数组查找,使用二分法 2.二分法查找第一次出现的位置,二分法查找最后一次出现的位置,end - start +1 left=getLeft(data,k ...

  8. Java 多态 ——一个案例 彻底搞懂它

    最近,发现基础真的hin重要.比如,Java中多态的特性,在学习中就是很难懂,比较抽象的概念.学的时候就犯糊涂,但日后会发现,基础在日常工作的理解中占有重要的角色. 下面,我将用一个代码实例,回忆和巩 ...

  9. 服务器端事件发送SSE

    背景 近期有这么一个需求: 手机端需要展示一个比较大的pdf 基于手机端网络/流量/体验等考虑,希望不通过pdf下载然后展示 而是把pdf转成一张张的图片,然后再在手机上展示. 分析 pdf转图片,肯 ...

  10. Python全栈学习_day001知识点

    今日大纲: . 变量. ***** . 常量.** . 注释.*** . 基础数据类型初识(int,str,bool). ***** . 用户输入 input ***** . 流程控制语句if. ** ...