更新日志(建议升级到2016.12.17) && 更新程序的方法
更新程序的步骤:
1,在控制面板里点击备份当前数据库文件到磁盘,把当天获取的信息从内存写到磁盘/存储卡。
2,下载最新版的源码wget -O "infopi.zip" "https://github.com/animalize/infopi/archive/master.zip"3,解压源码,出提示后输入A覆盖所有文件
unzip infopi.zip4,sudo reboot重启系统
备注:
如果是2016.07.20以前安装的,且使用了regex模块,需要升级regex模块,升级方法见下文。
如果是2015.05.09以前安装的,请注意解压出来的目录名有变,从infopi/改名为infopi-master/,可照此文重新部署一番。注意备份cfg目录和database目录。
如果是2014.10.28以前安装的,需要安装tornado模块,安装方法见下文。
2017.1.26a
新增list_callback回调代码,整个列表作为infos变量传入list_callback。
callback代码:新增便利函数funcs.datetime(),返回当前日期时间的一个NamedTuple。
2017.1.18a
callback代码:使用一个funcs对象汇总所有便利函数,如:funcs.hasher、funcs.unixtime。注:旧的方式将仍然可用。
callback代码:新增两个便利函数,见此文callback部分的表格:
- funcs.resub,用正则表达式的替换功能处理字符串。
- funcs.research,用正则表达式在字符串中查找,找到返回True,没找到返回False。
给信息源增加max_len、max_db字段,分别用于控制:获取条数、数据库保留条数,见此文。
这些worker(html_re、html_json、rss_atom)会删除文本中的U+200B(零宽空格),确保正常处理新浪微博。
2016.12.17
Python 3.6.0的sqlite3模块有bug,改动程序使之能在Python 3.6.0运行。
html_re可以捕获内容到temp属性,这和html_json保持一致。
子信息源可以不指定worker,此时使用父信息源的worker。
增强test_source.py的功能。
电脑版页面的左侧目录,每隔5分钟用ajax显示异常数。
版块信息页面,使用ajax提交刷新信息。
增加一个紧凑数据库主键的小工具。基本没用,只是防备出现极端情况。
2016.07.20
重新加载配置时,不再获取所有信息源,仅获取新增、修改过、刷新间隔改变的信息源。
重新加载配置时,不再读取sqlite3数据库。
在版块信息页面,可以刷新一个版块的信息源。
改进PAD版、手机版的配色。
改进编码字典。
如果使用了regex模块(新的正则表达式引擎),现在要求regex版本不小于2016.07.14,Linux下用此命令升级regex模块:
sudo pip3.4 install -U regex
Windows下用此命令升级regex模块:
pip install -U regex
2016.04.07
增加一个worker:html_re_rev,用法和html_re完全相同,最终获得一个逆顺序的html_re列表。
修复:极小概率下rss_atom解析XML文件失败。
改善:信息源出错时的流程处理及提示信息。
2015.12.27
优先使用regex(Version 1模式)作为正则表达式引擎。详见此文的regex模块介绍。
listall显示最后一条信息的获取时间,用于筛查长久没更新的信息源。
2015.10.31d
新增一个用户选项:不在列表里显示异常信息,防止用户被频繁的异常信息打扰。用法见演示配置文件的admin.txt。
手机版、大屏手机版:如果有异常信息,在版块目录显示一个链接,可跳转查看。
改进“web端异常记录文件”的显示,并可清空已有记录。
记录不正常的登录信息到“web端异常记录文件”,提醒有黑客暴力试探密码。
2015.09.20
关闭wz_tooltip.js的调试模式。
优先使用cchardet模块做编码检测。先尝试import cchardet,再尝试import chardet。
(cchardet比以前的chardet性能更快、占用内存更小。需要另外安装,见此文)
2015.08.15a
用户配置里的刷新时间,可以进行四则运算,比如24 * 7表示刷新间隔为7天,10 / 60则表示10分钟。
pad版、大屏手机版不再使用交替的背景颜色。
2015.07.29
改进html_json,更全面的用法见演示配置里的park:yuanby。
在管理员的控制面板可单独刷新异常信息源。
简易PAD版改为大屏手机版,并可设置每页显示数目,设置方法见演示配置。
调整网页tooltip的配色。
防止内容过长把html表格撑开。
2015.07.16
增加一个worker:html_json,用于从json提取信息。用法类似于html_re,见演示配置里的book:sinashuxun。
callback回调代码增加unixtime(string)函数,用于把unix时间戳转化为日期时间字符串。
可以单独刷新指定信息源。
2015.07.10a
信息源可以从父信息源继承callback代码。
普通账号的控制面板,不再显示程序启动时间和配置加载时间。
修正worker的两个decorator,自定义worker时可以复用已有worker的函数。
加上简易pad版的链接。
callback回调代码增加hasher(string)函数,用于计算字符串的散列值,返回一个散列值的字符串。
2015.06.26d
增加PAD版页面。
(可以设置PAD版每页显示的信息数目,详见/document/demo_cfg.zip里的config.ini和admin.txt)
(想调整字体大小,在pad.html里修改body{-webkit-text-size-adjust的两个值,但不是对所有浏览器都有效)
还增加了一个简易PAD版(大屏手机也可用),但没加链接,登录后访问http://127.0.0.1:5000/p即可。
callback函数增加posi变量,详见此文。
listall.html显示共有多少用户。
半年(180天)前的获取时间显示为“年-月-日”。
异常信息前面显示一个e以示区分。
修复6月引入的一个bug:无法保存web端异常记录文件。
2015.06.12a
增加:“挂起”。挂起之后,后端进程的定时器不再执行任何任务,用户只能进行web浏览。
增加:“数据库维护间隔时间”。适用于在电力不稳定的环境下使用tmpfs。
(以上两点的用法详见document/demo_cfg.zip里的config.ini)
增强:大大改进编码检测
增加:用户配置里,刷新时隔允许用小数(单位小时)
增加:weberr.txt里记录超时的任务
2015.06.06
增加:以https协议运行web服务器
增加:查看信息源的“最近有效刷新时间”
优化:异常信息的显示
增强:内部处理数据时使用令牌
polish
2015.06.01
增加“手动执行数据库每日维护”
polish
2015.05.25a
每日数据库维护时,增加删除每个信息源的多于一定数目的旧信息。(详见演示配置的config.ini)
更新演示配置demo_cfg.zip
优化html
2015.05.23
信息源的<url>标签支持errors属性,用法和Python解码的errors参数相同:
<url errors='strict'> 这是默认值,表示对解码错误零容忍,将引发一个异常
<url errors='ignore'> 忽略解码错误
<url errors='replace'> 解码出错时用?替换
2015.05.10a
新增:查看全部启用的信息源
修正:当database目录中无数据库文件、并且当前数据库没有改变时,不会备份到磁盘。
细微优化
2015.02.24
改进:解文本编码时的异常处理
2015.01.25
增强获取数据时的健壮性
2015.01.22a
修正:小概率情况下web端出现异常
其它:优化性能
2015.01.14
公共账号、普通账号也显示异常信息
2014.12.12
一些细微修改
2014.11.19
修正:显示的刷新间隔可能有误
修正:处理异常信息时可能出错
2014.11.08
修正:错误地处理异常信息。这个错误已经影响到正常使用了,真抱歉。
2014.11.06
一堆小改进
2014.10.31
修正:每月最后一天载入配置会出错
2014.10.28
使用tornado代替flask内置的wsgi服务器,据文档描述后者可用于开发调试、但不适合用在最终产品里。
以前InfoPi偶尔出现无法响应http请求的现象、只能重启系统,换成tornado后这个问题被解决了。
这次升级需要安装tornado,在linux下安装tornado的命令:
sudo pip3.4 install tornado
在windows下安装tornado的命令:
pip install tornado
2014.10.21
增强载入信息源定义时的编码检测能力
修改了html界面
2014.10.18
html_re增加自动拼接url的选项urljoin
(给maprules的url元素加上urljoin='true'属性即可自动拼接url)
2014.10.15
1、再修正:去除重复suid时的bug
2、修正:执行任务列表可能不完全
2014.10.14a
1、修正:去除重复suid时的bug
2、限制一段时间内的登录尝试次数,防止暴力试探密码。
3、整理控制面板页面
2014.10.8
rss_atom默认使用source.name作为信息的author,这个行为与html_re一致。
rss_atom增加use_feed_author选项,可以使用item自身提供的出处作为author,适用于聚合类的feed。
2014.10.6
fetcher可以下载deflate压缩的网页
2014.10.5
1、如果安装了第三方模块lxml,可以解析一些有缺陷的xml文件。
安装第三方模块的方法见此文:http://www.cnblogs.com/infopi/p/4007089.html
2、fetcher可以下载重定向时要求cookies的网络文件。
2014.10.3
如果安装了第三方模块chardet,可以自动检测网页编码
2014.10.1
修正:无法获取atom的链接
更新日志(建议升级到2016.12.17) && 更新程序的方法的更多相关文章
- 更新日志(建议升级到2017.1.18a) && 更新程序的方法
更新程序的步骤: 1,在控制面板里点击备份当前数据库文件到磁盘,把当天获取的信息从内存写到磁盘/存储卡.2,下载最新版的源码 wget -O "infopi.zip" " ...
- 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序 解决方法
最近在搞asp.net.今天在做数据库操作的时候,老发生错误,还以为是自己代码有问题,检查了好久都发现错误. 错误提示: 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程 ...
- 【转载】webstorm11(注册,激活,破解,码,一起支持正版,最新可用)(2016.11.16更新)
很多人都发现 http://idea.lanyus.com/ 不能激活了 很多帖子说的 http://15.idea.lanyus.com/ 之类都用不了了 最近封的厉害仅作测试 选择 License ...
- 服务器返回的“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0提供程序””错误解决
未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0提供程序”
- centos 6.5 升级内核 linux 3.12.17 (笔记 实测)
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G) 系统版本:Linux centos 2.6.32-431.el6.x86_64(Centos-6.5-x86_64-mi ...
- centos 6.5 升级内核 linux 3.12.17
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G) 系统版本:Linux centos 2.6.32-431.el6.x86_64(Centos-6.5-x86_64-mi ...
- CentOS6.5内核升级到linux 3.12.17教程
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G) 系统版本:Linux centos 2.6.32-431.el6.x86_64(Centos-6.5-x86_64-mi ...
- docker安装升级linux内核(2.6.32->3.12.17)
1.内核升级环境准备 #查看已经安装的和未安装的软件包组,来判断我们是否安装了相应的开发环境和开发库:yum grouplist#一般是安装这两个软件包组,这样做会确定你拥有编译时所需的一切工具yum ...
- Easy Sysprep更新日志-skyfree大神
Easy Sysprep更新日志: Skyfree 发表于 2016-1-22 13:55:55 https://www.itsk.com/forum.php?mod=viewthread&t ...
随机推荐
- shopex 小知识
产品链接: http://www.--/product-172.html 中间的数字代表 sdb_goods 表中 的 goods_id ... 表示数据库里的产品 id. 分类链接: http: ...
- JS在火狐浏览器下如何关闭标签?
首先,要确定火狐设置是否允许通过JS代码window.close()方法关闭标签. 确定方式如下: 在Firefox地址栏里输入 about:config 在配置列表中找到dom.allow_scri ...
- STM32系列单片机IO口模式设置
STM32单片机的每组IO口都有4个32位配置寄存器用于配置GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR和GPIOx_PUPDR,2个32位数据寄存器用于配置输入和 ...
- php正则替换:
1.要求: 对于: $str = '<p></p><p style="text-indent:241px"><strong>< ...
- C语言程序设计第6堂作业
一. 本次课主要内容: 通过几个实例来进一步掌握循环结构的应用. 二. 实验内容:(70分) 1. 穷举算法(古典算术问题-搬砖头)某地需要搬运砖块,已知 ...
- 通过本地IIS服务器+路由器==实现本地局域网WIFI覆盖
这是一张手机连接wifi局域网下载视频的图片,速度可以达到10M/S左右,下面让我们来看一下,本地服务器是如何建立的. 1.启动本地IIS服务 步骤如下 一.电脑右键-属性-控制面板-程序和功能-打开 ...
- Spring学习笔记(3)——Bean的注入方式
依赖注入 依赖注入支持属性注入.构造函数注入.工厂注入. 属性注入: 属性注入即通过setXxx()方法注入Bean的属性值或依赖对象 属性注入要求Bean提供一个默认的构造函数(无参构造函数),并为 ...
- CentOS下查看进程和删除进程
1. 在 LINUX 命令平台输入 1-2 个字符后按 Tab 键会自动补全后面的部分(前提是要有这个东西,例如在装了 tomcat 的前提下, 输入 tomcat 的 to 按 tab).2. ps ...
- 浅谈JavaScript的作用域
前段时间学了下JavaScript作用域,这个东西在JavaScript非常重要,也是JavaScript很基础的东西,正如少林里面基础武功,有了基础,才能学绝世武功. 作用域的作用是啥?一套设计良好 ...
- Highcharts使用指南
统计分析报表Highcharts使用指南 一.前言(Preface)阅览本文,您可以了解:1.Highcharts使用方法2.Highcharts数据动态加载3.Highcharts自动刷新数据4.H ...