这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的健壮性的更多相关文章

  1. 用anaconda的pip安装第三方python包的日志

    用anaconda的pip安装第三方python包的日志 启动anaconda命令窗口: 开始> 所有程序> anaconda> anaconda prompt 会得到两行提示: D ...

  2. 双击更新所有已安装的python模块

     首先声明我是一个升级控.几乎每天会查看一下手机.电脑是否有新的应用需要更新. 同样,我的python模块也是这样.百度了一下,发现目前还没有人将更新所有模块做成一件命令,但是查到了指引,主要就是两个 ...

  3. windows 上安装冷门python模块

    最近在逼乎看到 笑虎大大 的python 撸代码学知识专栏..就下载他的Pspider 框架 安装了一下,准备耍耍. 由于是在Windows下的pycharm 有个 pybloom_live 模块 老 ...

  4. JuPyter(IPython) Notebook中通过pip安装第三方Python Module

    JuPyter(IPython) Notebooks中使用pip安装Python的模块 刚开始接触JuPyter Notebook的时候觉得这是个不错的写技术博客的工具,可以很直观的把代码和结果结合在 ...

  5. 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 ...

  6. 人脸识别课件需要安装的python模块

    Python3.6安装face_recognition人脸识别库 https://www.jianshu.com/p/8296f2aac1aa

  7. 用anaconda的pip安装第三方python包

    启动anaconda命令窗口: 开始> 所有程序> anaconda> anaconda prompt会得到两行提示: Deactivating environment " ...

  8. python安装第三方的包

    转载自:http://blog.csdn.net/xyqzki/article/details/38414433 第一种基本安装方法 1 下载第三方包,解压 2 在命令提示符里输入cmd,然后用cd进 ...

  9. python 模块import(26)

    一.模块简介 python开发中,每一个.py文件都可以看作是一个模块,模块内部的函数或者方法可以被其他模块调用,至于函数或者方法是具体如何实现的,调用者不需要关心. 假如项目中既含有UI也有逻辑代码 ...

随机推荐

  1. wp8开发笔记之应用程序真机发布调试

    写在前面的话: 相信很多和我一样关注wp8动态以及已经开发了一些wp8应用程序的朋友们都遇到过这样的问题,写的程序在模拟器上进行调试总是显的没什么说服力,想拿真机进行实际测试, 该怎么办才好呢? 进行 ...

  2. 深入理解unslider.js源码

    最近用到了一个挺好用的幻灯片插件,叫做unslider.js,就想看看怎么实现幻灯片功能,就看看源码,顺便自己也学习学习.看完之后收获很多,这里和大家分享一下. unslider.js 源码和使用教程 ...

  3. SQL注入:突破关键字过滤

    一直以来都以为只有空格,tab键和注释符/**/可以用来切割sql关键字,段时间在邪八看了风迅cms注入漏洞那篇帖子,才知道原来回车也可以用来作为分割符(以前竟然没有想到,真是失败).回车的ascii ...

  4. iOS thirdKeyboard Develop (APP Extension)

    如果需要开发第三方键盘 首先得了解一下苹果官方文档  https://developer.apple.com/library/ios/documentation/General/Conceptual/ ...

  5. Java学习2 - JDK和JRE和JVM的区别_JDK的下载安装_环境变量配置

    一 JDK和JRE和JVM的区别 Jdk: Java Development kit - Java 开发工具 JRE: Java Runtime Environment - java运行环境 JVM: ...

  6. python基础之内置函数

    该博客内容参考http://www.cnblogs.com/wupeiqi/articles/4943406.html 内置函数 一 详细见python文档,猛击这里 文件操作 操作文件时,一般需要经 ...

  7. jquery 甘特图开发指南

    JQuery.Gantt是一个开源的基于JQuery库的用于实现甘特图效果的可扩展功能的JS组件库. <link rel="stylesheet" href="cs ...

  8. Django数据操作F和Q、model多对多操作、Django中间件、信号、读数据库里的数据实现分页

    models.tb.objects.all().using('default'),根据using来指定在哪个库里查询,default是settings中配置的数据库的连接名称. 外话:django中引 ...

  9. handlebars,each循环里面套each循环

    handlebars可以用each自动进行循环,下面介绍一下each循环里面套循环来着. html代码 !DOCTYPE html> <html> <head> < ...

  10. 使用Java代码实现对宽带的连接

    对于多个类似的用户名相同的密码,运行java代码实现对宽带的自动连接 这是源代码: import java.io.BufferedReader; import java.io.IOException; ...