目前我有两个MediaWikis,一个比另一个略旧的版本.我想将两者的内容合并在一起,而不会消除重复的页面.到目前为止,我能想到的最好的选择是使用机器人(如pywikipedia)浏览一个wiki的所有页面,并尝试将它们插入另一个,重命名重复的页面.
这个解决方案似乎需要一段时间才能完成.有没有更愉快的方式来做到这一点,我只是没有意识到?我没有直接使用MediaWiki数据库,所以我不太习惯在不知道我在做什么的情况下弄乱它.
这可能是一个非常简单的问题,但我似乎无法格式化web webrequest /响应以从Wikipedia API获取数据.我已经在下面发布了我的代码,如果有人可以帮我看看我的问题.
string pgTitle = txtPageTitle.Text;
Uri address = new Uri("http://en.wikipedia.org/w/api.php");
HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
string action = "query";
string query = pgTitle;
StringBuilder data = new StringBuilder();
data.Append("action=" + HttpUtility.UrlEncode(action));
data.Append("&query=" + HttpUtility.UrlEncode(query));
byte[] byteData = UTF8Encoding.UTF8.GetBytes(data.ToString());
request.ContentLength = byteData.Length;
using (Stream postStream = request.GetRequestStream())
{
postStream.Write(byteData, 0, byteData.Length);
}
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
// Get the response stream.
StreamReader reader = new …
Run Code Online (Sandbox Code Playgroud) 我们的内联网上有一个运行Mediawiki的公司wiki已经使用了一段时间.我们刚刚安装了Redmine,正在按照我们喜欢的方式配置它.
我想知道是否有任何方法可以使用我们现有的wiki而不是Redmine附带的内置wiki.我们有很多非开发人员编写的文章和文档,不想丢失和/或重新导入另一个wiki(即redmine).redmine的Wiki部分不允许我输入外部wiki的url,因为它包含各种非法字符(主要是:和/)
编辑:作为临时工作,我刚刚将"外部"Wiki上的每个项目主页用作Red Mine中的Projects"Home Page",到目前为止,这是我能够弄清楚的最好的.您没有从各种问题获得Wiki访问权限,但是没有,但是我们其他Wiki的链接确实显示在每个项目的概述下.
顺便说一下,这两个都安装在同一个物理盒子上,一个Windows 2003 Server,其中Mediawiki是使用WAMP包安装的,Redmine几乎是手动安装的,而不是像Bitnami那样使用堆栈.
现在我正在使用各种正则表达式将mediawiki标记中的数据"解析"为列表/词典,以便可以使用文章中的元素.
这不是最好的方法,因为必须进行的案例数量很大.
如何将文章的mediawiki标记解析为各种python对象,以便可以使用其中的数据?
示例是:
各种正则表达式可以实现上述目标,但我发现我必须做出相当大的数字.
这是mediawiki非官方规范(我发现它们的官方规范没有用).
如何在mediawiki中禁用或删除用户?我可以删除数据库中的记录,但我不确定这是否会影响维基中的任何其他内容.欢迎大家提出意见
谢谢Prady
我的MediaWiki网站目前受到垃圾邮件发送者攻击.我每天都会收到10个垃圾邮件页面.
我已经做了什么:
我还能做些什么来阻止垃圾邮件?
给定维基百科的维基百科页面:Stack Overflow,通常有信息框(大部分位于页面顶部的右侧).截屏示例:
DBPedia将所有这些属性列为RDF三元组.您可以在DBPedia上看到示例:Stack Overflow.在那里,您会看到dbpprop:wikiPageUsesTemplate
具有dbpedia:Template:Infobox_website
有趣价值的房产.我想知道哪些维基百科页面使用此模板.我该怎么做并列出所有使用Infobox_website模板的页面?最好使用SPARQL查询,但我对其他简单的解决方案持开放态度.
接下来是所有Infobox模板的列表.维基百科:类别信息框模板显示了所需维基百科类别的层次结构 - 看起来像我正在寻找的.但我希望所有这些都是机器可读的格式,在一个页面上.也许DBPedia也是正确的吗?在DBPedia:类别信息模板和DBPedia:INFOBOX我发现很少的信息.但这些看起来很有希望.如何使用SPARQL查找所有信息框类型,以便我可以为每个信息重复执行第1步?
您可以使用它来测试SPARQL查询:http://dbpedia.org/snorql/
我似乎已经解决了问题1:SPARQL:列出所有使用Infobox_website的页面
此外,这似乎是问题2的查询:SPARQL:列出所有信息框
我已经安装了MediaWiki网站.我认为默认的MediaWiki只支持在安装期间配置的一种语言.
MediaWiki有没有办法支持wikipedia.org这样的两种或更多语言?页面的可用语言应该像维基百科一样列在左侧,当用户单击某种语言时,可以看到所选语言的页面版本.
支持多语言的传统方式是什么?
1.问题
如果我编码如下,那么我在页面中有一个特定的"部分"链接
[[#SectionTitle|displayed text]]
Run Code Online (Sandbox Code Playgroud)
但是,如果我想在页面中有一个链接到一个地方,我的意思是任何地方?
有时我可能想直接引用页面的一部分,而不是在部分的开头.
我尝试了什么
我试过这样的事
[[#Foo|displayed text]]
{{anchor|Foo}}
Run Code Online (Sandbox Code Playgroud)
这似乎要求我做一个页面模板:锚
所以我复制了维基百科的Template:Anchor页面.
但是Template:Anchor似乎再次要求制作一些新的页面,因为Template:Anchor只会说
{{#invoke:anchor|main}}
Run Code Online (Sandbox Code Playgroud)
所以我的尝试没有奏效.