安装第三方Python模块,增加InfoPi的健壮性
2014-10-05 15:53
477 查看
这3个第三方Python模块是可选的,不安装的话InfoPi也可以运行。
但是如果安装了,会增加InfoPi的健壮性。
目录
1、cchardet 自动检测文本编码
2、lxml 用于解析有缺陷的xml文件
3、regex 更强大的正则表达式引擎
安装后,如果服务器不发送网页、xml的编码(这种情况很罕见),InfoPi会调用cchardet检测编码。
Linux安装命令:
如果系统自带python 3.4或以上版本,可能提示没有pip3.4,换成pip-3.x(x为python的具体版本号)或pip3试试。
Windows安装命令(注意,模块名前面只有一个c,这是另一个兼容的模块):
cchardet的项目页面: https://pypi.python.org/pypi/cchardet/
在遇到有缺陷、不规范的xml时,Python自带的xml处理器可能无法解析。
如果安装了lxml,在自带的xml处理器报错时,程序会尝试再用lxml的修复模式解析。
搜狐博客的rss生成程序有bug,在做长度截断时可能出错(比如把<截断成&...),这样就不符合xml规范了。
这时严格的xml处理器(如Python、Thunderbird自带的)会报错,如果安装了lxml,就能正常解析。
Linux下安装lxml:
第一、二行安装lxml依赖的两个软件包。
第三行下载、编译、安装lxml,编译用时较长,在树莓派B+大概需要50分钟。
在一些系统上安装最新的lxml可能报错,这时可以用如下命令安装3.6版的lxml:
sudo pip3.4 install lxml==3.6.4
Windows下安装lxml:
到这里下载已编译好的lxml安装包,然后执行:
lxml‑3.4.4‑cp34‑none‑win_amd64.whl是适用于Windows平台、64位的Python 3.4.x使用的安装包,lxml版本为3.4.4。
lxml的项目页面:https://pypi.python.org/pypi/lxml
安装后可以使用正则表达式的一些高级特性,方便处理复杂情况。
几点注意:
1、仅InfoPi v.2015-11-15及以上版本支持regex。
2、最新版InfoPi要求regex的版本在2016.07.14以上,否则使用re模块。
3、默认使用regex的Version 1模式。
4、要把regex特有的flags写进表达式里,比如这样: (?bp-f)<div>(.*?)</div>
Linux安装命令:
如果系统自带python 3.4或以上版本,可能提示没有pip3.4,换成pip-3.x(x为python的具体版本号)或pip3试试。
Windows安装命令:
regex的项目页面:https://pypi.python.org/pypi/regex/
但是如果安装了,会增加InfoPi的健壮性。
目录
1、cchardet 自动检测文本编码
2、lxml 用于解析有缺陷的xml文件
3、regex 更强大的正则表达式引擎
1、cchardet
cchardet模块用于检测文本的编码。安装后,如果服务器不发送网页、xml的编码(这种情况很罕见),InfoPi会调用cchardet检测编码。
Linux安装命令:
sudo pip3.4 install cchardet
如果系统自带python 3.4或以上版本,可能提示没有pip3.4,换成pip-3.x(x为python的具体版本号)或pip3试试。
Windows安装命令(注意,模块名前面只有一个c,这是另一个兼容的模块):
pip install chardet
cchardet的项目页面: https://pypi.python.org/pypi/cchardet/
2、lxml
lxml是更强的xml处理器,推荐安装。在遇到有缺陷、不规范的xml时,Python自带的xml处理器可能无法解析。
如果安装了lxml,在自带的xml处理器报错时,程序会尝试再用lxml的修复模式解析。
搜狐博客的rss生成程序有bug,在做长度截断时可能出错(比如把<截断成&...),这样就不符合xml规范了。
这时严格的xml处理器(如Python、Thunderbird自带的)会报错,如果安装了lxml,就能正常解析。
Linux下安装lxml:
sudo apt-get install libxml2 libxml2-dev sudo apt-get install libxslt1-dev sudo pip3.4 install lxml
第一、二行安装lxml依赖的两个软件包。
第三行下载、编译、安装lxml,编译用时较长,在树莓派B+大概需要50分钟。
在一些系统上安装最新的lxml可能报错,这时可以用如下命令安装3.6版的lxml:
sudo pip3.4 install lxml==3.6.4
Windows下安装lxml:
到这里下载已编译好的lxml安装包,然后执行:
pip install lxml‑3.4.4‑cp34‑none‑win_amd64.whl
lxml‑3.4.4‑cp34‑none‑win_amd64.whl是适用于Windows平台、64位的Python 3.4.x使用的安装包,lxml版本为3.4.4。
lxml的项目页面:https://pypi.python.org/pypi/lxml
3、regex
regex是比re模块更强大的正则表达式引擎,见此文的介绍。安装后可以使用正则表达式的一些高级特性,方便处理复杂情况。
几点注意:
1、仅InfoPi v.2015-11-15及以上版本支持regex。
2、最新版InfoPi要求regex的版本在2016.07.14以上,否则使用re模块。
3、默认使用regex的Version 1模式。
4、要把regex特有的flags写进表达式里,比如这样: (?bp-f)<div>(.*?)</div>
Linux安装命令:
sudo pip3.4 install regex
如果系统自带python 3.4或以上版本,可能提示没有pip3.4,换成pip-3.x(x为python的具体版本号)或pip3试试。
Windows安装命令:
pip install regex
regex的项目页面:https://pypi.python.org/pypi/regex/
相关文章推荐
- Python学习---BeautifulSoup安装(第三方模块)
- 【总结】Python中第三方的库(library)、模块(module),包(package)的安装方法
- python安装第三方模块UnicodeDecodeError:'ascii' codec can't decode byte ···
- python中安装第三方模块
- Python 安装第三方库,模块和包的安装方法
- Python中第三方的库(library)、模块(module),包(package)的安装方法
- python安装第三方模块(windows环境)
- 【总结】Python中第三方的库(library)、模块(module),包(package)的安装方法
- (转载)【总结】Python中第三方的库(library)、模块(module),包(package)的安装方法
- ubuntu下python第三方模块的安装
- 使用easy_install安装python第三方模块的方法
- python 安装第三方模块
- windows下Python安装第三方模块
- python 安装第三方模块的常用方法
- python 如何安装第三方模块module
- 安装Python第三方模块遇到Python version 2.7 required, which was not foundin the registry的问题
- 安装Python第三方模块MySQLdb
- python 安装第三方模块
- Python中第三方的库(library)、模块(module),包(package)的安装方法以及ImportError: No module named
- Python3.4 安装第三方模块Request、BeautifulSoup