Scrapy安装在win7-32

Scrapy安装在win7-32

作者:金良([email protected]) csdn博客:http://blog.csdn.net/u012176591




Scrapy安装在win7-32_第1张图片


[TOC]

## 总结 Scrapy之所以不是很多人在用,我想可能与其复杂的安装配置有关,这一点我深有感触。其实我几个月前曾试图在win7-32上安装Scrapy,最终以失败告终,但是心有不甘,昨天从中午奋战到晚12点多,竟然突破瓶颈,直捣黄龙,成功地安装了scrapy。兴奋之余,记述如下。 基本流程我就不重复了,相关内容在网上已经泛滥成灾,这里推荐一个英文的安装教程,讲得很详细,不至于误人子弟,呵呵。给出链接 ## 经验谈 这里只介绍一下我在安装过程中遇到的问题和克服问题的经验。 * scrapy 安装之前需要安装Python和若干相关的Python模块,安装这些软件或模块时,如果能找到可执行的二进制安装文件(如.exe或.msi,一定要与操作系统和Python版本相符)就尽量用二进制安装文件,否则尽量用`pip` 工具或`easy_install` 工具,迫不得已就只能下载源码,然后用 `python setup.py intall` 命令进行安装了。 * 需要提到的是OpenSSL的安装,如果处理的不好,在后面安装scrapy时会提示错误。下面是两个典型的错误 + 错误提示 > error: command ‘C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\BIN\\cl.exe’ failed with exit status 2 搜遍了中英文的帖子,发现不但提问者寥寥,而且回帖中明确给出处理方法的也没有。没办法,我只能查看安装日志(自觉查看日志记录,这可能是我今天最大的收获了),发现了该错误的上下文内容如下
 C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -IC:\Python27\include -IC:\Python27\PC /Tcsrc\cryptography\hazmat\bindings\__pycache__\_Cryptography_cffi_f3e4673fx399b1113.c /Fobuild\temp.win32-2.7\Release\src\cryptography\hazmat\bindings\__pycache__\_Cryptography_cffi_f3e4673fx399b1113.obj
    _Cryptography_cffi_f3e4673fx399b1113.c
    src\cryptography\hazmat\bindings\__pycache__\_Cryptography_cffi_f3e4673fx399b1113.c(216) : fatal error C1083: Cannot open include file: 'openssl/aes.h': No such file or directory
    error: command 'C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\BIN\\cl.exe' failed with exit status 2

从上面的三句话可以看出发生错误的根源:第一行执行了cl.exe命令,该命令的路径是

C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe

,该行后面的长串字符是该命令的参数。第二行是一个C源文件的名字_Cryptography_cffi_f3e4673fx399b1113.c,表示执行第一行的命令时用到了该文件。第三行,可以看到就出错了,并且提示说_Cryptography_cffi_f3e4673fx399b1113.c 文件需要include(包含)头文件openssl/aes.h,但是却找不到该文件。

从上面的分析我们知道错误原因是找不到头文件openssl/aes.h,我们在C盘搜索到该文件,如下图
Scrapy安装在win7-32_第2张图片

据此我们建立系统环境变量include ,如下图所示

Scrapy安装在win7-32_第3张图片

重启机器使环境变量有效。

  • 错误提示

    error: command ‘C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\link.exe’ failed with exit status 1181

仍然查找日志记录的上下文,如下

  1. C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:C:\Python27\libs /LIBPATH:C:\Python27\PCbuild libeay32mt.lib ssleay32mt.lib advapi32.lib crypt32.lib gdi32.lib user32.lib ws2_32.lib /EXPORT:init_Cryptography_cffi_f3e4673fx399b1113 build\temp.win32-2.7\Release\src\cryptography\hazmat\bindings__pycache___Cryptography_cffi_f3e4673fx399b1113.obj /OUT:build\lib.win32-2.7\cryptography_Cryptography_cffi_f3e4673fx399b1113.pyd /IMPLIB:build\temp.win32-2.7\Release\src\cryptography\hazmat\bindings__pycache___Cryptography_cffi_f3e4673fx399b1113.lib /MANIFESTFILE:build\temp.win32-2.7\Release\src\cryptography\hazmat\bindings__pycache___Cryptography_cffi_f3e4673fx399b1113.pyd.manifest /MANIFEST
  2. LINK : fatal error LNK1181: cannot open input file ‘libeay32mt.lib’
  3. error: command ‘C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\link.exe’ failed with exit status 1181

可以看到执行line.exe 命令时出错,从第二行可以看到引入库文件 libeay32mt.lib 出错。

查找库文件 libeay32mt.lib ,如下

可以看到找到了两个名为libeay32mt.lib 的库文件,一个是动态库,一个是静态库。干脆将这两个库都加入系统变量 lib ,如下图

Scrapy安装在win7-32_第4张图片

仍然要重启机器才能使lib 有效。

  • 安装scrapy成功后,在具体执行某个爬虫程序时,如果某个需要的包没有被安装,再安装即可。
  • 如果要重装scrapy,先用pip 工具卸载,命令

    pip uninstall Scrapy

  • 我安装过程中安装的相关软件打包地址
    http://download.csdn.net/detail/u012176591/8500485

  • 我在安装过程中新建或增加的环境变量
    • path :C:\Python27;C:\Python27\Scripts;C:\Program Files\Sublime Text 3;C:\OpenSSL-Win32\bin;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\Microsoft Visual Studio 9.0\VC\bin;C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE;C:\Program Files\Microsoft Visual Studio 9.0\Common7;C:\Program Files\Microsoft Visual Studio 9.0\VC\vcpackages;
    • VS110COMNTOOLS:C:\Program Files\Microsoft Visual Studio 11.0\Common7\Tools\
    • VS90COMNTOOLS:C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools
    • lib:C:\OpenSSL-Win32\lib;C:\OpenSSL-Win32\lib\VC;C:\OpenSSL-Win32\lib\VC\static;
    • include:C:\OpenSSL-Win32\include;

几个例子供进一步学习

  • 一个简单的多线程爬虫
    http://www.cnblogs.com/fengfenggirl/p/cnblogs-crawler.html
  • Scrapy 0.24 文档
    https://scrapy-chs.readthedocs.org/zh_CN/0.24/
  • scrapy爬虫测试项目,爬取知乎信息
    https://github.com/wangyeming/scrapy-zhihu/tree/develop
  • 用scrapy写的京东爬虫
    https://github.com/taizilongxu/scrapy_jingdong
  • scrapy爬虫下载口袋百科上神奇宝贝的信息
    https://github.com/Vespa314/pokemon-scrapy
  • 用Scrapy实现的一个博客爬虫
    https://github.com/hackrole/blog-scrapy
  • 基于Scrapy的iTunes爬虫,用于爬取iTunes上的应用信息
    https://github.com/Adoni/appSpiner
  • 新浪微博爬虫
    https://github.com/DianaCody
  • Zhou’s Blog
    基于UID的WEIBO信息抓取框架WEIBO_SCRAPY https://github.com/yoyzhou/weibo_scrapy http://yoyzhou.github.io/blog/2013/04/08/weibo-scrapy-framework-with-multi-threading/
  • 微博名人关注网络的社会网络分析
    http://yoyzhou.github.io/blog/2013/04/29/viz-following-networks-of-weibo-celebrities/
  • 博客备份工具
    http://blog.csdn.net/gzshun/article/category/932960
    源码 http://download.csdn.net/detail/gzshun/4041869
  • 网络爬虫系列
    http://blog.csdn.net/column/details/spiders.html
  • 开源爬虫Scrapy的学习及应用
    http://blog.csdn.net/heiyeshuwu/article/details/42170017

你可能感兴趣的:(win7,scrapy)