`
fuhao_987
  • 浏览: 61530 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

关于搭建wiki镜像和数据库的一些东西

    博客分类:
  • Java
阅读更多
1:搭建wiki镜像
(1)Apache,Php5,Mysql不可少,然后下载mediawiki软件。
(2)mediawiki直接解压到apache里面,然后进主页去创建数据库wikidb。里面有41个表。在导入数据之间,要先清除page,revision,text三个表。
delete from page;
delete from revision;
delete from text;
(3)http://dumps.wikimedia.org/backup-index.html在这里可以下载任何语言wiki的数据库xml文件。下载的文件类似于enwiki-20061130-pages-articles.xml.bz2(英文版的),wiki差不多每两个月更新一次数据。
(4)把文件导入数据库:
命令:
java -Xmx600M -server -jar mwdumper.jar --format=sql:1.5
enwiki-20061130-pages-articles.xml.bz2 | mysql -u wikiuser -p wikidb
这是linux下的,windows下的对应改一下路径,当然啦,需要mwdumper.jar包
可以在http://dumps.wikimedia.org/tools/ 下载
说明:1.这个xml压缩文件只有最新版本的文件。如果要所有的历史记录应该是类似这样的文件:
             enwiki-20061130-pages-meta-history.xml.bz2
           2.windows下的命令:
              java -jar d:\mwdumper.jar --format=sql:1.5 d:\enwiki-20061130-pages-meta-history.xml.bz2 | c:\mysql\bin\mysql.exe -u root(数据库登录者) -p wikidb(用mediawiki建立的后台数据库名字)


(5)现在,实际上wikidb里面只有三个表有内容,page,revision,text。对于只研究wiki文本已经足够了,本来想画个图简单说明一下这三个表的关系,可是在网上看到了一个关于41表的完整版,连接:http://dl.javaeye.com/upload/attachment/80112/8621bbc1-1ffa-3511-8023-acbe735ac39f.png
当时不知道有这图,分析了半天才搞明白这三个表的关系,总之就是revision表的rev_page对应page表的page_id,revision表的rev_id对应text表的old_id
好啦,现在wiki的镜像搭建好了,可以按自己的要求读取里面的数据啦。
我用的是python2.6
--------------------------------------------------------------------
下面是关于python处理数据库的内容:
需要装MySQLdb
MySQLdb版本: MySQL-python-1.2.2.win32-py2.6.exe
下载地址:http://home.netimperia.com/files/misc/MySQL-python-1.2.2.win32-py2.6.exe
参见:http://sourceforge.net/forum/forum.php?thread_id=2316047&forum_id=70460

常见问题:
1.ImportError: DLL load failed: 找不到指定的模块。
----------------------------------------------------------------------------------------------------
D:\usr\local\Python26>python
Python 2.6 (r26:66721, Oct  2 2008, 11:35:03) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "D:\usr\local\Python26\Lib\site-packages\MySQLdb\__init__.py", line 19, in <module>

    import _mysql
ImportError: DLL load failed: 找不到指定的模块。
----------------------------------------------------------------------------------------------------
解决方法:下载libmmd.dll和libguide40.dll两个dll文件并复制System32目录之下
参见:http://sourceforge.net/forum/message.php?msg_id=5613887

2.ImportError: DLL load failed: 找不到指定的模块。
----------------------------------------------------------------------------------------------------
D:\usr\local\Python26>python
Python 2.6 (r26:66721, Oct  2 2008, 11:35:03) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
D:\usr\local\Python26\lib\site-packages\MySQLdb\__init__.py:34: DeprecationWarning: the sets module is deprecated
  from sets import ImmutableSet
----------------------------------------------------------------------------------------------------
解决方法:
1) 在文件中 "__init__", 注释掉:
from sets import ImmutableSet 
class DBAPISet(ImmutableSet): 
新增:
class DBAPISet(frozenset)

2) 在文件中"converters.py", 注释掉  from sets import BaseSet, Set 这一句话。

3) 在文件中"converters.py", 修改 "Set" 成为 "set" ( 只有两个地方需要修改):
大概 line 48: return Set([ i for i in s.split(',') if i ]) 》》 return set([ i for i in s.split(',') if i ])
大概 line 128: Set: Set2Str, 》》 set: Set2Str
参见:http://sourceforge.net/forum/message.php?msg_id=5808948
------------------------------------------------------------------------------------------
好啦好啦,然后就是运用MySQLdb包连数据库wikidb,然后用sql语句自己想要的数据,我把读取的数据用python包装成xml。
分享到:
评论

相关推荐

    搭建wiki服务器 confluedce 过程

    这是总结的搭建 wiki服务器 confluence 时的过成 仅供参考一下

    WikiTaxi Wiki百科离线数据库查看器

    Wiki百科离线数据库查看器 WikiTaxi is an offline reader and browser for Wikipedia and MediaWiki wikis. Run WikiTaxi.exe to display usage instructions. For more information, user support, and new ...

    基于Asp.net+mysql数据库实现的内容管理系统源码(可搭建论坛、博客、内容社交、wiki等).zip

    基于Asp.net+mysql数据库实现的内容管理系统源码(可搭建论坛、博客、内容社交、wiki等).zip基于Asp.net+mysql数据库实现的内容管理系统源码(可搭建论坛、博客、内容社交、wiki等).zip基于Asp.net+mysql数据库实现的...

    RedHat 5搭建wiki.docx

    因为工作需要,最近自己在RedHat 5上搭建了一个wiki环境,用于我组的信息共享和交流。如下附件记载了我搭建的过程和过程中所遇到的问题和解决方法。上传上来,让大家少走弯路。

    维基解密镜像站点大全_Wikileaks_Mirrors.doc

    维基解密镜像站点大全_Wikileaks_Mirrors.doc

    linux+dokuwiki搭建

    内含SSH+Ftp+Apache+Mysql+PHP+dokuwiki安装方法,文档和安装包都在里面了,Free的一塌糊涂,够全了吧,自已测过好用的。

    Wiki-mirror:Wiki的只读镜像

    维基镜 Wiki的只读镜像

    wiki知识库系统mysql数据库设计.zip

    wiki知识库系统mysql数据库设计

    dokuwiki-master

    DokuWiki程序小巧而功能强大、灵活,适合中小团队和个人网站知识库的管理。 DokuWiki可以与多种CMS程序进行整合,例如WordPress、XOOPS、PostNuke等。由于这个原因,很多Blog作者对DokuWiki比较感兴趣。DokuWiki不...

    一个基于Asp.Net和 SQL Server 2005 的一个简单的WIKI引擎

    是一个基于Asp.Net和 SQL Server 2005 的一个简单的WIKI引擎,其旨在提供一个精简的WIKI引擎且易于配置、修改,以及一些基本的认证功能。 功能简介: 轻量级 代码非常少 易于提升性 简单的DB结构 ? 当不...

    php开源Wiki--dokuwiki下载

    DokuWiki 是一个容易使用,用途多样的开源 Wiki 软件,并且不需要数据库。它因简洁易读的语法受到用户的喜爱。而容易维护、备份和整合则使它成为管理员的最爱。内置的访问控制列表和认证连接器使 DokuWiki 在企业...

    Oracle数据库的游标学习总结

    Oracle数据库的游标学习总结Oracle数据库的游标学习总结

    如何搭建wiki--mediawiki

    this is a brief introduction of how to setup a wiki page as soon as possible. 使用mediawiki建议一个自定义wiki网站,基于windows 系统, 使用xampp 简易配置包, 英文说明

    adodb510数据库抽象库

    它具有:可移植数据库创建,依赖数据库的session支持,SQL执行监控和数据库"健康"检查。 很多的知名网站如ACID, Zikula/PostNuke,Xaraya, phpWiki, Mambo, PHP GACL, TikiWiki, eGroupWare and phpLens都使用了ADODB...

    widows下wiki详细安装配置文档

    windows 2003下wiki安装配置详细文档,帮助初学者学习wiki的安装

    ScrewTurn Wiki 维基系统 v3.0.5.600 SQL版

    默认情况下,ScrewTurn Wiki 的页面、修改历史记录和用户帐户均以文本文件保存,这意味着 wiki 不需要数据库,只需将 ScrewTurn Wiki 程序复制到 Web 服务器就完成部署。此外ScrewTurn Wiki 还提供了MS SQL Server ...

    ScrewTurn Wiki 维基系统3.0源码

    默认情况下,ScrewTurn Wiki 的页面、修改历史记录和用户帐户均以文本文件保存,这意味着 wiki 不需要数据库,只需将 ScrewTurn Wiki 程序复制到 Web 服务器就完成部署。此外ScrewTurn Wiki 还提供了MS SQL Server? ...

    基于.net core 3.1和mysql数据库内容管理系统,可用于搭建论坛,博客,内容社交,WIKI。.zip

    包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python...

    canal-php 监控数据库变更

    数据库镜像 数据库实时备份 多级索引 (卖家和买家各自分库索引) search build 业务cache刷新 价格变化等重要业务消息 关于 Canal 的更多信息请访问 https://github.com/alibaba/canal/wiki 二.应用场景 canal-php ...

    DokuWiki v2018.04.22a "Greebo".rar

    DokuWiki 是一个使用,用途多样的开源 Wiki 软件,并且不需要数据库。它因简洁易读的语法受到用户的喜爱。而容易维护、备份和整合则使它成为管理员的最爱。内置的访问控制列表和认证连接器使DokuWiki 在企业环境下...

Global site tag (gtag.js) - Google Analytics