安装第三方Python模块,增加InfoPi的健壮性
这3个第三方Python模块是可选的,不安装的话InfoPi也可以运行。
但是如果安装了,会增加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:
pip install lxml
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 模式。
4、要把regex特有的flags写进表达式里,比如这样: (?bpf)<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模块,增加InfoPi的健壮性的更多相关文章
- 用anaconda的pip安装第三方python包的日志
用anaconda的pip安装第三方python包的日志 启动anaconda命令窗口: 开始> 所有程序> anaconda> anaconda prompt 会得到两行提示: D ...
- 双击更新所有已安装的python模块
首先声明我是一个升级控.几乎每天会查看一下手机.电脑是否有新的应用需要更新. 同样,我的python模块也是这样.百度了一下,发现目前还没有人将更新所有模块做成一件命令,但是查到了指引,主要就是两个 ...
- windows 上安装冷门python模块
最近在逼乎看到 笑虎大大 的python 撸代码学知识专栏..就下载他的Pspider 框架 安装了一下,准备耍耍. 由于是在Windows下的pycharm 有个 pybloom_live 模块 老 ...
- JuPyter(IPython) Notebook中通过pip安装第三方Python Module
JuPyter(IPython) Notebooks中使用pip安装Python的模块 刚开始接触JuPyter Notebook的时候觉得这是个不错的写技术博客的工具,可以很直观的把代码和结果结合在 ...
- liunx下安装第三方Python(PIP安装)
wget https://pypi.python.org/packages/source/p/pip/pip-6.0.8.tar.gz $ tar zvxf pip-6.0.8.tar.gz $ cd ...
- 人脸识别课件需要安装的python模块
Python3.6安装face_recognition人脸识别库 https://www.jianshu.com/p/8296f2aac1aa
- 用anaconda的pip安装第三方python包
启动anaconda命令窗口: 开始> 所有程序> anaconda> anaconda prompt会得到两行提示: Deactivating environment " ...
- python安装第三方的包
转载自:http://blog.csdn.net/xyqzki/article/details/38414433 第一种基本安装方法 1 下载第三方包,解压 2 在命令提示符里输入cmd,然后用cd进 ...
- python 模块import(26)
一.模块简介 python开发中,每一个.py文件都可以看作是一个模块,模块内部的函数或者方法可以被其他模块调用,至于函数或者方法是具体如何实现的,调用者不需要关心. 假如项目中既含有UI也有逻辑代码 ...
随机推荐
- wp8开发笔记之应用程序真机发布调试
写在前面的话: 相信很多和我一样关注wp8动态以及已经开发了一些wp8应用程序的朋友们都遇到过这样的问题,写的程序在模拟器上进行调试总是显的没什么说服力,想拿真机进行实际测试, 该怎么办才好呢? 进行 ...
- php绘图问题
php绘图首先要确认gd库是否启用,到php.ini文件中,找到extension=php_gd2.dll将前面的:去掉,重新启动服务器. 如果在绘图中还是没有显示正常的图片,说明服务器在回复请求时, ...
- Apache Tomcat开机后台启动
作为软件开发人员,经常接触Tomcat,完成的项目,需要部署到服务器上的Tomcat,才能供其他人访问浏览. 因为存在以下问题,所以需要把Tomcat设置为后台自动启动: 1.服务器可能因环境故障面临 ...
- mybatis学习
什么是 MyBatis ? MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis ...
- 北大poj-1011
木棒 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 136132 Accepted: 32036 Description ...
- c# 远程连接ORACLE数据库
使用该方法,只需要传入几个必要的参数就可以进行数据库的远程连接测试了,连接成功返回TRUE,失败返回false. 说明: 第一个参数表示你在数据库中的用户,具有可以登录权限的 第二个参数表示用户的密码 ...
- (spring-第20回【AOP基础篇】)Spring与事务
要想了解Spring的事务,首先要了解数据库事务的基本知识,数据库并发会产生很多问题,Spring使用ThreadLocal技术来处理这些问题,那么我们必须了解Java的ThreadLocal技术.下 ...
- 第一章:Android系统移植与驱动开发概述
Android是基于Linux内核的,与Linux内核没有太大的区别,只是增加了一些自己独有的驱动,随着Android发布版本的不断升级,他所使用的Linux内核也在不断升级,以适应新的安卓版本,为他 ...
- 在Ubuntu 12.4 下安装 nginx, MySQL, PHP
LNMP是时下很流行的网站配置,我在配置蝉大师服务器的时候顺带把经验做个分享,蝉大师的网址是:http://www.ddashi.com/ 1.第一步, 跟新apt-get 输入: sudo apt- ...
- 黑马程序员:Java编程_7K面试题之交通灯管理系统
=========== ASP.Net+Android+IOS开发..Net培训.期待与您交流!=========== 模拟实现十字路口的交通灯管理系统逻辑,具体需求如下: 异步随机生成按照各个路线行 ...