正在从随机文章中获取链接
Getting link from random article
我有一个函数可以获取一篇随机维基百科文章的第一部分,但我不知道如何获取该文章的实际URL。我在维基媒体API上找了找,找不到它
getRandomArticle : function() {
return $.getJSON("http://en.wikipedia.org/w/api.php?action=query&generator=random&grnnamespace=0&prop=extracts&explaintext&exintro=&format=json&callback=?", function (data) {});
}
有什么想法吗?
这并不像你想象的那么容易。API返回带有内部ID的页面,您必须再次使用API来获取特定页面的信息,例如URL。
$.getJSON("http://en.wikipedia.org/w/api.php?action=query&generator=random&grnnamespace=0&prop=extracts&explaintext&exintro=&format=json&callback=?", function (data) {
$.each(data.query.pages, function(k, v) {
$.getJSON('http://en.wikipedia.org/w/api.php?action=query&prop=info&pageids='+v.pageid+'&inprop=url&format=json&callback=?', function(url) {
$.each(url.query.pages, function(key, page) {
console.log(page); // contains the page data
var url = page.fullurl; // the url to the page
});
});
});
});
FIDDLE
您的问题类似于什么是wikipedia pageid?如何将其更改为真实的页面url?。
最简单的方法?只需转到http://en.wikipedia.org/?curid=pageid
。
如果您正在获取query.result.pageid.extract以从文章中获取文本,那么您现在是pageid。
相关文章:
- AngularJS:获取链接中没有哈希的查询字符串值
- angular.js从数据库中获取链接
- jQuery 从特定子项获取链接
- 如何获取链接以保持活动状态
- Javascript的Haskell处理“;点击“;以获取链接
- 如何获取链接内容(innerHTML)并将其作为标题添加到其他链接
- 正在从随机文章中获取链接
- 动态生成id时获取链接的id
- 从h1标签获取链接并使图片可下载
- 使用jQuery获取链接的属性,并将其作为表单发布到另一个脚本文件
- 使用 JavaScript 从链接列表中获取链接名称
- 获取链接帖子使用脚本“data:post.url”博主不起作用
- 在IE 7中,如果链接是使用jQuery创建的,如何获取链接的href属性的文字值
- 如何从数组获取链接以在youtube Iframe API中播放
- jQuery:获取链接的html代码
- 单击时获取链接的 ID
- 混合面板 - 跟踪所有链接并获取链接值
- 如何使用 Scrapy 从点击事件获取链接
- 如何使用 Python 和 Selenium 获取链接的点击“操作”
- 如何在没有图像的情况下获取链接