• 安装第三方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 0模式。

    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/

  • 相关阅读:
    多线程之volatile关键字
    多线程具体实现
    多线程的概述
    Linux基本目录机构
    Java13新特性
    CF1316D【Nash Matrix】(dfs+构造+思维)
    ego商城项目学习总结+出现问题及解决
    java.lang.OutOfMemoryError: GC overhead limit exceeded之tomcat7优化
    jsp在tomcat中更新不起作用
    js取值及赋值
  • 原文地址:https://www.cnblogs.com/infopi/p/4007089.html
Copyright © 2020-2023  润新知