通过MediaWiki API检索双重定向

时间:2016-03-23 20:04:48

标签: javascript mediawiki-api

我想写一个脚本来在页面移动后自动解决双重重定向。以下是我的开始:

(function () {
    var api = new mw.Api();
    api.get( {
        action: 'query',
        list: 'backlinks',
        blpageid: mw.config.get('wgArticleId'),
        blfilterredir: 'redirects',
        blredirect: true,
        bllimit: 500
    } ).done( function (data) {
        var fixed = 0;
        redirects = data.query.backlinks;
        for (var i=0; i<redirects.length; i++) {
            var doubles = redirects[i].redirlinks;
            if (doubles === undefined) {
                continue;
            }
            for (var j=0; j<doubles.length; j++) {
                console.log(doubles[j]);
                fixed ++;
            }
        }
        mw.notify(fixed);
    } );    
})();

问题是,如果我在Wikipedia:Blocking policy这样的页面上运行此函数,脚本会返回一些实际上不是双重定向的页面,而只是重定向包含指向它的链接。

我可以检查他们每个人看到他们实际指向的位置,但是没有更好的方法吗?即一种只检索双重重定向的简单方法。

1 个答案:

答案 0 :(得分:0)

如果你对使用python和pywikibot框架感到满意,那么https://m.mediawiki.org/wiki/Manual:Pywikibot/redirect.py可以做你想做的事。

否则您可能希望使用Special:DoubleRedirects的输出。