[1] http://www.softlab.ntua.gr/~ttsiod/buildWikipediaOffline.html
下面是说明文件,目前的目标是能在linux/UNIX上快速、简单建立镜像,然后再制作
windows上安装、运行的版本。
====
SWIM
====
Static WIkipedia Mirror
运行必须的软件
--------------
* Python -- http://www.python.org/
* Xapian -- http://www.xapian.org/
* Django -- http://www.djangoproject.com/
* mwlib -- http://code.pediapress.com/wiki/
可选的软件
----------
* latex
* dvips -- 以上两个软件用来生成数学公式。
运行环境
--------
* Linux/UNIX系统。
配置SWIM
--------
1. 下载SWIM
2. 查看最近的维基百科备份数据库::
$ python swim.py -L
...
2007-11-28 20:10:13 zhwiki/20071119
2007-11-29 13:53:20 zhwikibooks/20071129
2007-11-29 14:07:16 zhwikinews/20071129
2007-11-29 14:17:17 zhwikiquote/20071129
2007-11-29 15:44:00 zhwikisource/20071129
2007-11-30 06:19:55 zhwiktionary/20071130
...
每行为一个数据库的备份时间,以及数据库的备份名称。
3. 下载一个数据库
从上面的列表中选择一个数据库,把名称传给SWIM下载该文件。
例如,下载中文维基百科的备份文件::
$ python swim.py -D zhwiki/20071119
4. 下载完成之后,把备份文件拆分成多个小文件,存放到wiki-splits目录::
$ python swim.py -S -f zhwiki-20071119-pages-articles.xml.bz2 -A wiki-splits
5. 对这些文件进行检索,在目录db中建立起查询数据库::
$ python swim.py -i -A wiki-splits -d db
6. 启动web服务::
$ mkdir -f ~/pngmath # mwlib运行需要这个目录,用来存放数学公式及相应图片
$ cd mywiki
$ python manager runserver
访问 http://127.0.0.1:8000/ 浏览百科条目
TODO
----
* 把配置过程改为向导方式
* 添加维基百科网站的css、img
* 为个人使用提供更简单的web服务,把Django改为备选方案
* 条目链接区分显示已编写、未编写条目
* 中文繁简转换支持
* 制作Windows版本
能否 ls -l 或du 一下所有檔案的大小, 我猜想應該不大, 但實作才是王道, 就煩
請您提供一下囉
不是太清楚你所讲的档案是那些。我大致说一下整个过程涉及到的文件:
1. Python
现在大多数Linux发布版都已经自带安装了Python,自己编译的话需要下载10M多
一点的源代码包。考虑到以后要做针对windows平台的安装程序,Python不应该
和安装包做到一起,应该让用户单独去下载、安装,安装程序也大约是不到11M。
2. Xapian
这个主要是一个运行库,尺寸不大,大约几百K。这部分尺寸应计入windows安装
程序的包中。
3. Django
最新版本尺寸不到2M。其实针对于用户自用的话,不需要用这么功能丰富的web
服务,我在考虑做一个简单的python web服务,而把Django作为可选的功能,
提供给想建立一个镜像网站的人使用。
4. mwlib
解析mediawiki语法,转换成html,尺寸几十K。
5. latex + dvips
latex比较大,在Linux里,安装基本的功能大概需要一两百兆。Windows下面有
专门的livetex,好像是两三百兆的样子;还有miktex,基本安装也要几十兆。
dvips是生成图片的,livetex之类的工具合集里很多已经包括这些程序。
要做windows的版本,数学公式图片的生成是个问题,要么就要求用户自己去
安装这些latex套件;要么可以把系统做成一个可以在windows里运行的虚拟机,
里面运行一个相关程序、数据齐全的linux系统。各有优缺点,到时候再研究。
以上是系统运行需要的程序。下面说说涉及到的数据文件尺寸:
1. 备份文件
这里需要的维基百科下载的是 zhwiki-20071014-pages-articles.xml.bz2 这样的
备份文件,例子里这个文件的大小是188M,包含了11月4日备份下来的所有
维基百科条目、分类以及模板。
2. 拆分
备份文件太大,很难提取数据,所以需要拆分。在被分割成小文件后,存放于
wiki-splits 目录,这个目录共 219M。
完成拆分之后,下载的备份文件就不再需要,可以删除了。
3. 索引
条目信息被 xapian 索引,存储到 db 目录中,大小 172M。不知道是不是我
做试验时多次添加过信息,这个目录的大小有点出乎意料,按说只索引条目
的名称,索引文件不应该有这么大。
大概就是这些情况。
不過您的方案看來是以架站為主,而個人離線瀏覽為輔,才會有受限於平台的問
題,是吧?
若先不提架站的需求,就個人離線為主的話,是否能將所有的內容檔輸出至html檔
呢,如此直接和firefox搭配就免去顧使用者作業系統的問題,
裝軟體乃推廣的大忌啊
如果只有最近的中文维基百科条目,大概是这样子。
以后可以考虑同时支持几个不同的维基百科版的条目浏览。
> 不過您的方案看來是以架站為主,而個人離線瀏覽為輔,才會有受限於平台的問
> 題,是吧?
倒不是以架站为主,而是因为要自己使用,就要有查看、浏览、检索的界面。用web
来做这样的界面最简单,只要有任意一个浏览器就可以。否则就得自己开发gui程序,
如果再加上要做到在不同平台上的可移植性,那工程就太庞大了。
> 若先不提架站的需求,就個人離線為主的話,是否能將所有的內容檔輸出至html檔
> 呢,如此直接和firefox搭配就免去顧使用者作業系統的問題,
确实可以如此来做,而且维基百科本身也有html格式的备份文件。但这样的文件的一
个大问题是,检索会成问题,在用户本地的环境里可能效果不太好。另外,因为要
直接浏览,所以所有条目必须以html的格式存放,而且html文件不能压缩起来存储,
这也会很大程度上增大文件占用空间的尺寸,文档的下载或者保存都有可能让用户
吃不消。
> 裝軟體乃推廣的大忌啊
确实,不过如果我们把这个软件尽量做得容易配置和使用,我想还是有很大价值的。
(2) 嗯,Linux/unix的機器架Web server不是問題,但Windows的機器則.....我
全然支持用browser, 只是windows 和linux的預設環境差很大啊
(3) 嗯,都可以試,看是要在Windows上裝一個輕量,綠色安裝的Web server,還
是找一個firefox extension 可以做 local html search的,在地搜尋的確是個問
題,我也找找
对,先把中文的做出一个来。
> (2) 嗯,Linux/unix的機器架Web server不是問題,但Windows的機器則.....我
> 全然支持用browser, 只是windows 和linux的預設環境差很大啊
之所以全部工具用python替换掉,就是因为python可以做到的事情非常多,比如
很容易就可以实现一个web服务,而且移植性非常好,同一套代码可以运行在各个
操作系统上。
> (3) 嗯,都可以試,看是要在Windows上裝一個輕量,綠色安裝的Web server,還
> 是找一個firefox extension 可以做 local html search的,在地搜尋的確是個問
> 題,我也找找
依靠python的模块xapian,这个系统本身自带了建立索引的功能,而且检索速度
非常快。但如果依靠windows本身或者firefox做html的本地检索,似乎比较困难。
2007/12/13, Xie Yanbo <xiey...@gmail.com>:
--
Chinese wikipedia: http://zh.wikipedia.org/
My blog: http://talk.blogbus.com
CNBlog: http://blog.cnblog.org/weblog.html
Social Brain: http://www.socialbrain.org
cnbloggercon: http://www.cnbloggercon.org/
MeMedia: http://memedia.cn
[[zh:User:Shizhao]]
那里,也是借用别人的点子和其他人贡献的代码、模块而已。
如果要发布可以推广的正式版本,那么必须提供windows版本的安装系统,到时
候还是需要发动python社区的朋友来帮忙了,我很久没有动过windows了。
另外,正式发布的版本也必须解决繁简体自动转换、适应的问题,这得花点力气
来做了。
windows的版本我還在找免安裝的小webserver, 不過有點難找
考虑到大多数人使用IE,不能指望firefox来做这件事,繁简转换必须在输出页面时
就做好,这是正式发布版的必须要求。我打算增加一个切换按钮,然后用cookie
记在用户的浏览器中,以后的浏览就不需要再调整了。
看重心是放在哪,若只是要離線讀不考慮回wikipedia的話,那直接包成chm選定語
言也行,但個人覺得firefox是應該打包一起推的,因為個人覺得推廣還有包括在
線及貢獻的可能性
十字花剑 wrote:
> 一旦开始可以编辑,就会被gfw,这基本没悬念
>
> 2007/12/14, shi zhao <shi...@gmail.com <mailto:shi...@gmail.com>>:
>
> 可以分步做,先是静态,然后再考虑编辑
>
> 2007/12/14, han...@computer.org <mailto:han...@computer.org>
> <han...@gmail.com <mailto:han...@gmail.com>>:
> > firefox是有綠色安裝版,再說若要達到連回Wikipedia並利用TOR繞過障
> 礙的話,
> > firefox的方案也比較完整,
> >
> > 看重心是放在哪,若只是要離線讀不考慮回wikipedia的話,那直接包成
> chm選定語
> > 言也行,但個人覺得firefox是應該打包一起推的,因為個人覺得推廣還
> 有包括在
> > 線及貢獻的可能性
> >
> > Xie Yanbo wrote:
> > > On Dec 13, 2007 11:04 PM, han...@computer.org
> <mailto:han...@computer.org> <han...@gmail.com
H
我已经在电脑上顺利运行起来了 :)
发现一个小错误, 最后一步运行的步骤应该是 python manage.py runserver 应该所笔误了,
另外, 如果我原来有 Apache, 可以把网页内容合并到 Apache 里吗? 应该如何做?
Regards.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: http://firegpg.tuxfamily.org
iD8DBQFHZA0HHuqxyCZQdwkRAp0lAJ40rNj/crC3c3Qzjyk8hwOI/2POVwCggRpe
VHLPvDLx8uC3Oe6B+qEY4zM=
=ZQpv
-----END PGP SIGNATURE-----
--
"I may not agree with what you say but I will defend to the death your
right to say it"
抱歉,才看到你的回复。如果有apache,可以用rewrite的方法把swim集成到已有的
网站中。具体方法可以在网上搜索mod_rewrite,资料很丰富。大致是类似这样:
RewriteRule ^/path/to/swim/(.*) http://localhost:8080/$1 [P,L]
花了两天晚上整理了一下,把 Wikipedia offline reader[1] 改成了全部用python实现,
我准备把它做成一个面向普通用户、快速建立维基百科本地镜像的系统。[1] http://www.softlab.ntua.gr/~ttsiod/buildWikipediaOffline.html
下面是说明文件,目前的目标是能在linux/UNIX上快速、简单建立镜像,然后再制作
windows上安装、运行的版本。====
SWIM
====
Static WIkipedia Mirror运行必须的软件
--------------* Python -- http://www.python.org/
* Xapian -- http://www.xapian.org/
* Django -- http://www.djangoproject.com/
* mwlib -- http://code.pediapress.com/wiki/可选的软件
----------* latex
* dvips -- 以上两个软件用来生成数学公式。
运行环境……