是否有任何.Net库来解析我通过mediawiki api检索到的页面?一个标准的mediawiki解析器,可以只用纯数据提供标题和数据,但我宁愿有一个特别适合wiktionary,一个可以给我什么类型的单词和所有定义.
我不想为此编写自己的解析器.有什么建议?
我正在开发一个Android应用程序,从Wikia页面提取信息并将其显示在应用程序中.我目前正在拉动所有类别进行导航并设置我的应用程序以在WebView中显示页面但我想只是拉动信息并格式化自己而不是通过传递给WebView来减少它.
我用来获取文本的是:http://scottlandminecraft.wikia.com/api.php?format = xml&action = query&titles = ZackScott&prop = latest&rvprop = content
我的问题是文本回来了一个大块,有没有人有任何想法如何让这个更加格式化,所以我可以从标签解析或我正在努力找到它的时间?如果是这样,最好找到一种方法来解析我需要的文本,方法是从文本中的标识符开始,或者有更好的方法吗?
感谢您的投入和时间.
"长时间读者,第一次发布海报".
我正在为我管理的西班牙语Wiki 制作机器人.我想从头开始,因为我的目的之一是练习Java.但是,在尝试使用HttpClient向包含非ASCII字符(如á,é,í,ó或ú)的URI进行GET请求时遇到了一些麻烦.
String url = "http://es.metroid.wikia.com/api.php?action=query&list=categorymembers&cmtitle=Categoría:Mejoras de las Botas"
method = new GetMethod(url);
client.executeMethod(method);
Run Code Online (Sandbox Code Playgroud)
当我执行上述操作时,GetMethod会抱怨URI:
Exception in thread "main" java.lang.IllegalArgumentException: Invalid uri 'http://es.pruebaloca.wikia.com/api.php?action=query&list=categorymembers&cmtitle=Categoría:Mejoras%20de%20las%20Botas&cmlimit=500&format=xml': Invalid query
at org.apache.commons.httpclient.HttpMethodBase.<init>(HttpMethodBase.java:222)
at org.apache.commons.httpclient.methods.GetMethod.<init>(GetMethod.java:89)
at net.metroidover.categorybot.http.HttpRequest.request(HttpRequest.java:69)
at net.metroidover.categorybot.http.HttpRequest.request(HttpRequest.java:120)
at net.metroidover.categorybot.http.Action.getCategoryMembers(Action.java:38)
at net.metroidover.categorybot.bot.BotComponent.<init>(BotComponent.java:58)
at net.metroidover.categorybot.bot.BotComponent.main(BotComponent.java:80)
Run Code Online (Sandbox Code Playgroud)
请注意,在堆栈跟踪中显示的URI中,空格被编码为%20,并且ís保持原样.完全相同的URI在浏览器上完美运行,但我无法接受GetMethod接受它.
我也尝试过以下方法:
URI uri = new URI(url, false);
method = new GetMethod(uri.getEscapedURI());
client.executeMethod(method);
Run Code Online (Sandbox Code Playgroud)
这样,URI逃过了is,但双重逃过了空间(%2520)......
http://es.metroid.wikia.com/api.php?action=query&list=categorymembers&cmtitle=Categor%C3%ADa:Mejoras%2520de%2520las%2520Botas&cmlimit=500&format=xml
Run Code Online (Sandbox Code Playgroud)
现在,如果我在查询中不使用任何空格,则没有双重转义,我得到所需的输出.因此,如果没有任何非ASCII字符的可能性,我不需要使用URI该类,也不会获得双重转义.为了避免第一次逃离空间,我尝试了这个:
URI uri = new URI(url, true);
method = new GetMethod(uri.getEscapedURI()); …Run Code Online (Sandbox Code Playgroud) 从MediaWiki API:Query 页面看来,您一次只能解析一个重定向。
该文档甚至说“下面的示例并不是真正有用,因为它没有使用任何查询模块,但显示了重定向参数的工作原理。”
但是您如何获得重定向信息——使用确实返回多个结果的查询模块?
当用户创建或编辑文章时,我首先要批准它们,然后发布它们.我如何实现这一目标或什么扩展使这成为可能?
我们的企业维基是Mediawiki.将iframe放入我的网站以引用wiki上的一些文章我没有问题.
但我自己的网站有很多小部件和自己的风格.我不想包含Mediawiki导航/搜索/登录小部件,徽标图像.
是否有可能以及如何在没有小部件的情况下获取Mediawiki页面内容(仅限文章正文)?
我想从维基词典下载所有可数名词(类别:英语可数名词),
我在/enwiktionary/latest/ 的索引上尝试了一些语料库,但看起来很难提取我想要的类别。谁能告诉我应该使用哪个以及如何提取特定类别的单词列表?或者有没有其他方法可以做到这一点,比如使用 API?
我正在尝试检索由特定维基百科文章分开的机器人,注册用户和匿名用户所做的编辑次数.
我知道我可以通过MediaWiki API中的修订版获得文章的所有修订,我想使用rvprop = user来返回进行修订的用户的名称并对检索到的数据进行一些处理.
对于匿名用户修改anon =""总是发生所以我可以计算它,但对于机器人我找不到办法,据我所知,机器人名称并不总是以标准化方式编写.知道怎么做吗?或者更简单的方法可能是使用另一个API来完成这项任务?
尝试使用生成器通过api搜索切片.我注意到有两个可能的生成器,我都有问题:
有人知道解决这个问题吗?
我制作了一个使用JSON Google图片搜索API来提供图片的Android应用,但我注意到谷歌已停止支持它.我还发现维基数据有时会在某些项目上提供图像属性,但我似乎无法使用维基数据API获取图像的URL位置.
有没有办法从维基数据中的项目获取图像URL属性?
mediawiki-api ×10
mediawiki ×4
java ×3
android ×2
wiktionary ×2
.net ×1
c# ×1
html ×1
httpclient ×1
parsing ×1
php ×1
redirect ×1
search ×1
uri ×1
url ×1
wiki ×1
wikidata-api ×1