回答
这些本节中的关键参数。
prop=revisions&rvprop=content&rvsection=0
rvsection = 0指定仅返回主导部分。
看到这个例子。
为了得到HTML,你可以使用同样用行动=解析 http://en.wikipedia.org/w/api.php?action=parse§ion=0&prop=text&page=pizza
注意,那你就必须去掉任何模板或InfoBoxes到。
如果您需要为大量文章执行此操作,则不要直接查询网站,而应考虑下载维基百科数据库转储,然后通过API(例如JWPL)访问它。
请参阅Is there a clean wikipedia API just for retrieve content summary?其他建议的解决方案。这里是一个我建议:
其实是有一个非常好的道具称为extracts,可以使用专门为此设计的查询中使用。提取物允许您获取文章摘录(截断文章文本)。有一个名为exintro的参数,可用于检索第0部分(没有其他资产,如图像或信息框)中的文本。还可以检索与更精细的粒度提取物,例如通过在一定数目的字符(exchars)或由特定数量的句子(exsentences)
下面是一个示例查询http://en.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&exintro=&titles=Stack%20Overflow 和API沙箱http://en.wikipedia.org/wiki/Special:ApiSandbox#action=query&prop=extracts&format=json&exintro=&titles=Stack%20Overflow以更多地试验此查询。
请注意,如果你想第一段具体你仍然需要获得第一个标签。然而,在这个API调用中,没有其他资源需要解析。如果您对此介绍摘要感到满意,您可以通过运行删除html标签的功能(如php's strip_tag)来检索文本。
您可以直接下载维基百科数据库并将所有页面解析为XML,其中Wiki Parser是独立应用程序。第一段是生成的XML中的单独节点。
或者,您可以从其纯文本输出中提取第一段。
您可以通过查询页面(例如https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro=&explaintext=&titles=java)来获得维基百科文章的介绍。你只需要解析json文件,结果就是清除了纯文本,包括删除链接和引用。
我做这种方式:
https://en.wikipedia.org/w/api.php?action=opensearch&search=bee&limit=1&format=json
你得到的回应是数据的数组,易于解析:
[
"bee",
[
"Bee"
],
[
"Bees are flying insects closely related to wasps and ants, known for their role in pollination and, in the case of the best-known bee species, the European honey bee, for producing honey and beeswax."
],
[
"https://en.wikipedia.org/wiki/Bee"
]
]
得到公正第一段limit=1
是什么你需要。
<script>
function dowiki(place) {
var URL = 'https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro=&explaintext=';
URL += "&titles=" + place;
URL += "&rvprop=content";
URL += "&callback=?";
$.getJSON(URL, function (data) {
var obj = data.query.pages;
var ob = Object.keys(obj)[0];
console.log(obj[ob]["extract"]);
try{
document.getElementById('Label11').textContent = obj[ob]["extract"];
}
catch (err) {
document.getElementById('Label11').textContent = err.message;
}
});
}
</script>
考虑在你的答案中增加一些文字描述:)(即与其他人相比,它带来了什么) –
您可以使用JQuery来做到这一点。首先用适当的参数创建url。检查此link以了解参数的含义。然后使用$.ajax()
方法检索文章。请注意,维基百科不允许跨源请求。这就是为什么我们在请求中使用dataType : jsonp
。
var wikiURL = "https://en.wikipedia.org/w/api.php";
wikiURL += '?' + $.param({
'action' : 'opensearch',
'search' : 'your_search_term',
'prop' : 'revisions',
'rvprop' : 'content',
'format' : 'json',
'limit' : 10
});
$.ajax({
url: wikiURL,
dataType: 'jsonp',
success: function(data) {
console.log(data);
}
});
- 1. 如何获取维基百科页面的HTML内容文本(通过Wikipedia API)?
- 2. 获取维基百科API
- 3. 如何使用wikipedia API获取维基百科列表文章的项目?
- 4. 使用维基百科API获取内容
- 5. PHP +维基百科:从维基百科文章的第一段获取内容?
- 6. 如何使用维基百科的API
- 7. 如何使用维基百科的API
- 8. 从维基百科中提取内容
- 9. 维基百科API获取数据
- 10. 如何从维基百科获取具体内容?
- 11. 如何使用维基百科API获取出生地点
- 12. 维基百科API
- 13. 如何使用维基百科API从维基百科上的类别页面获取所有子类别?
- 14. 如何使用维基百科API获取维基百科文章信息框中的信息?
- 15. 从维基百科获取维基百科主题标题
- 16. 维基百科搜索框的Wikipedia API搜索
- 17. 使用维基百科API从页面检索内容列表
- 18. GER维基百科页面内容与简介使用API
- 19. 维基百科信息框的内容
- 20. API为维基百科的
- 21. 维基百科的JAVA API
- 22. 使用维基百科的API继续
- 23. 如何获得图像使用维基百科的API
- 24. 获取维基百科文章的内容
- 25. 维基百科API:如何获取页面修订的数量?
- 26. 如何从维基百科API获取表格中的数据?
- 27. 使用MediaWiki API获取维基百科数学表达式
- 28. 使用维基百科API错误
- 29. 使用JSONP访问维基百科API
- 30. 维基百科人物API
是否必须在获取该值后发送action = parse query? – bbnn
我想得到一个干净的文本,我应该自己写解析器吗?或者有一些API查询来做到这一点?谢谢 – bbnn
,所以我必须从这里编写我自己的解析器,非常感谢! – bbnn