[读书笔记]python爬虫-scrapy安装过程常见问题及解决方法
来源:互联网 发布:unity3d awake 编辑:程序博客网 时间:2024/05/29 17:06
这篇博客的来源来自《精通python网络爬虫 核心技术、框架及项目实践》作者:韦伟
众所周知,scrapy是一套比较成熟的python框架,是使用python开发的快速,高层次的信息爬取框架,可以高效率的爬去web页面并提取出我们关注的结构化数据。它的应用领域很多,比如网络爬虫开发,数据挖掘, 数据监控,自动化测试等。但是,安装scrapy的过程中,免不了会出现各种类型的错误,以下对安装过程中常出现的问题与解决办法进行了相应的汇总。
- windows下常见问题
- 常见问题1 pip版本需要升级
- 常见问题2unable to find vcvarsallbat
- 常见问题3缺少lxml
- linuxcentos安装scrapy常见问题
- 常见问题1安装scrapy的时候出现bz2 module is not available
- 常见问题2安装scrapy时出现致命错误libxmlxmlversionh 没有那个文件或目录
- 常见问题3安装scrapy时出现Requirement already satisfied
- 常见问题4安装scrapy时出现致命错误 libxsltxsltconfigh 没有那个文件或目录
- 常见问题5安装scrapy后无法使用scrapy指令
- windows下常见问题
windows下常见问题
常见问题1: pip版本需要升级
如果你的pip版本较老,可以通过python -m pip install --upgrade pip
来解决这个问题,完成升级后,这一类错误即可解决。
常见问题2:unable to find vcvarsall.bat
在安装过程中,有可能会出现“unable to find vcvarsall.bat”等错误提示,如果出现这个错误,可以安装对应的Visual Studio解决。
打开python安装目录下的“Lib/distutils/msvc9compiler.py”文件,打开该文件后,可以看到类似如下的代码
vc_env = query_vcvarsall(VERSION, plat_spec)
如果安装的是Visual Studio 2015的版本,可以将这行代码改为:
vc_env = query_vcvarsall(14.0, plat_spec)
可以看到,参数VERSION和安装的Visual Studio 的版本是有对应关系的,具体的对应关系如下:
设置好参数后,可以通过下载对应的 Visual Studio 版本进行安装,,2015专业版的官方下载地址是:
https://www.visualstudio.com/zh-hans/downloads/?rr=https%3A%2%2Fzhidao.baidu.com%2Fquestion%2F585329796764288885.html
下载之后进行解压并进行安装。安装Visual Studio,需要对应版本的.NET Framework 的支持,如果没有安装对应版本的.NET Framework,可能会出现如图所示的错误界面:
如果出现该错误界面,可以根据错误提示信息,下载对应的Microsoft B NET Framework安装即可解决该错误。
安装好Visual Studio后,再使用pip安装Scrapy就不会出现该错误了。
常见问题3:缺少lxml
有时候,会出现缺少lxml的错误,解决该问题需要安装对应的lxml,可以先下载lxml的whl格式的文件,然后使用pip进行安装。
首先从LFD中下载对应版本的lxml。
首先打开以下网址:http://www.lfd.uci.edu/~gohlke/pythonlibs/
找到对应版本下载。下载之后,进入cmd命令行。
然后可以先使用pip安装好wheel:
pip install wheel
如果未安装wheel,使用该命令可以直接安装wheel。
然后,进入下载的whl文件所在的目录,使用“pip install whl文件名”安装对应的whl文件。
安装完成lxml之后,该问题即可解决。
linux(centos)安装scrapy常见问题
常见问题1:安装scrapy的时候出现bz2 module is not available
问题描述:
在安装scrapy时,可能会出现类似如下的问题:
File “/usr/local/python3/lib/python3.4/tarfile.py”, line 1566, in open return func(name, filemode, fileobj, **kwargs)
File “/usr/local/python3/lib/python3.4/tarfile.py”, line 1643, in bz2open raise CompressionError(“bz2 module is not available”)
tarfile.CompressionError: bz2 module is not available
Storing debug log for failure in root/.pip/pip.log
解决办法:
出现这个问题,可以通过安装Twisted解决。
首先下载Twisted:
输入如下命令: [root@localhost /]# wget https://pypi.python.org/packages/source/T/Twisted/Twisted-14.0.0.tar.bz2
下载之后,进行解压与安装,输入如下命令: [root@localhost Twisted-14.0.0]# cd Twisted-14.0.0/
[root@localhost Twisted-14.0.0]# python setup.py install
安装完成会出现如下信息: Using /usr/local/python3/lib/python3.4/site-packages
Finished processing dependencies for Twisted==14.0.0
此时,成功解决该问题。
常见问题2:安装scrapy时出现致命错误:libxml/xmlversion.h: 没有那个文件或目录
问题描述:
使用pip3安装scrapy时,可能会出现如下错误:
gcc -pthread -Wno-unused-result -DNDEBUG -g - fwrapv -o3 -Wall -Wstrict-prototypes - fPIC -Isrc/lxml/includes -I/usr/local/python3/include/python3/python3.4m -c src/lxml/lxml,etree.c -o build/temp.linux-x86_64-3.4/src/lxml/lxml.etree.o -w
In file included from src/lxml/lxml.etree.c:321:0:
src/lxml/includes/etree_defs.h:14:31: 致命错误: libxml/xmlversion.h: 没有那个文件或目录
#include “libxml/xmlversion.h”
编译中断
Compile failed: command ‘gcc’ failed with exit status 1
creating tmp
cc -I/usr/include/ lixml2 -c /tem/xmlXPATHInit8f4a5ufs.c -o tmp/xmlXPATHInit8f4a5ufs.o
/tmp/xmlXPATHInit8f4a5ufs.c:1:26: 致命错误: libxml/xpath.h: 没有那个文件或目录
#include “libxml/xpath.h”
^
编译中断。
error: command ‘gcc’ failed with exit status 1
*************************************************************
Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
*************************************************************
——————————————————————————————–
解决办法:
若出现该错误,可以分两步解决:先安装libxml2-devel。再为libxml建立软链接,具体如下: [root@localhost /]# yum - y install libxml2-devel
[root@localhost /]# ln -fs /usr/include/libxml2/libxml/ /usr/include/libxml
常见问题3:安装scrapy时出现Requirement already satisfied
解决办法:
此时,无法重新执行pip3 installl scrapy
,可以先将未完全安装的scrapy拆卸,再重新执行pip install scrapy
,具体过程如下:
[root@localhost /]# pip uninstall scrapy
[root@localhost /]# pip install scrapy
常见问题4:安装scrapy时出现:致命错误: libxslt/xsltconfig.h: 没有那个文件或目录
解决办法:
此时,没有libxslt/xsltconfig.h,导致错误的原因是缺少 libxslt-devel, 所以此时我们只需要通过yum安装libxslt-devel即可解决问题,具体如下: [root@localhost /]# yum -y install libxslt -devel
执行完成后该问题即可解决。
常见问题5:安装scrapy后无法使用scrapy指令
安装好scrapy后却而无法使用scrapy指令。
解决办法
遇到这种情况,可以逐步调试解决。
首先,我们无法执行scrapy指令,说明此时/usr/bin/目录下没有scrapy,所以需要为scrapy建立软链。首先需要先找出scrapy所在地址,如下所示: [root@localhost ~]# find / -name "\*scrapy*"
find: '/run/user/1000/gvfs' : 权限不够
/esr/local/python3/bin/scrapy
/usr/local/python3/lib/python3.4/site-packages/scrapy
/usr/local/python3/lib/python3.4/site-packages/scrapy/templates/project/scrapy.cfg
可以看到。/usr/local/python3/bin/scrapy路径即是我们要找的路径,此时scrapy在/usr/local/python3/bin/目录下,而不是在/esr/bin/目录下,故而我们直接输入scrapy无法执行对应指令,所以此时为此路径下的scrapy建立软链,如下所示: [root@localhost ~]# ln -fs /usr/local/python3/bin/scrapy /usr/bin/scrapy
然后就可以执行scrapy指令了。
但此时我们执行scrapy指令,会出现”ImportError : No Module named ’ twisted.persisted’的问题。此时twisted模块有问题,而之前已经安装过该模块,所以此时可以尝试升级该模块,如下所示: [root@localhost ~]# pip3 install twisted --upgrade
但此时又显示缺少_bz2模块,此时可以安装bzip2-devel以及bzip2*,如下所示: {root@localhost ~]#yum -y install bzip2-devel bzip2*
安装好之后,需要重新编译与安装python,进入python3的安装目录,然后执行make和make install。
然后再升级twisted即可成功运行。
随后再次执行scrapy,会发现此时缺少cryptography,安装pycrypto、cryptography即可,执行如下命令: [root@localhost Python3.4.2]# yum -y install gcc libffi-devel python -devel python-devel openssl-devel
[root@localhost Python-3.4.2]# yum -y install pycrypto
[root@localhost Python-3.4.2]# pip3 install cryptography
[root@localhost Python-3.4.2]# pip3 install pycrypto
问题解决。
- [读书笔记]python爬虫-scrapy安装过程常见问题及解决方法
- python Scrapy安装、教程、及爬虫
- python爬虫+scrapy安装
- python爬虫scrapy安装
- Python爬虫:scrapy安装
- [Python爬虫] scrapy爬虫系列 <一>.安装及入门介绍
- Python3环境安装Scrapy爬虫框架过程及常见错误
- Python3环境安装Scrapy爬虫框架过程及常见错误
- Python之Scrapy爬虫框架安装及简单使用
- <scrapy>python 爬虫框架scrapy安装
- Python安装Scrapy爬虫工具
- Python爬虫框架Scrapy安装
- Windows安装python爬虫Scrapy
- python爬虫框架scrapy安装
- Scrapy安装过程中遇到的问题及解决方法
- Python Scrapy的安装过程
- Python爬虫框架Scrapy实战之安装
- 网络爬虫(蜘蛛)Scrapy,Python安装!
- 【Leetcode】200. Number of Island
- NYOJ 255
- llinux文件编程2
- mt4
- JavaScript 深拷贝 & 浅拷贝
- [读书笔记]python爬虫-scrapy安装过程常见问题及解决方法
- Mac文件系统
- 缓存淘汰算法之LRU
- Unity常用插件之DoTween(一)
- 学习贵在坚持!
- [python]python常用内置函数
- codeforces544C
- Linux 日志定时轮询流程详解
- 算法练习——“百钱买百鸡”