【问题标题】:How to get wikipedia out-links of an article in python?如何在 python 中获取文章的维基百科外链接?
【发布时间】:2020-02-06 05:38:11
【问题描述】:

我想获取维基百科文章的外链。我所说的外链是指维基百科文章中What links here 部分中的链接。

例如,考虑data mining 维基百科文章。 What links here本文部分在:https://en.wikipedia.org/wiki/Special:WhatLinksHere/Data_mining

我尝试如下使用pywikibot

import pywikibot as pw

site = pw.Site('en', 'wikipedia')
print([
    cat.title()
    for cat in pw.Page(site, 'data mining').categories()
    if 'hidden' not in cat.categoryinfo
])

然而,pywikibot 中的categories 似乎与维基百科文章的外链接不同。因此,我想知道如何在 python 中做到这一点。

注意:我不仅限于 pywikibot,也乐于探索其他库,例如 mediawiki

如果需要,我很乐意提供更多详细信息。

【问题讨论】:

    标签: python mediawiki wikipedia mediawiki-api pywikibot


    【解决方案1】:

    尝试Page.embeddedin()Page.backlinks() 方法。您也可以直接使用 MediaWiki API 的等效模块:

    【讨论】:

    • 非常感谢您的回答。如果您能告诉我'embeddedin' 和backlinks 有什么区别,那就太好了?它会返回类似的结果吗?期待您的来信:)
    • @EmJ 在WhatLinksHere page 的顶部,您会注意到一些过滤器:Hide transclusions | Hide links | Hide redirects 。 WhatLinksHere 默认检索tranclusions(嵌入)和backlinks 的组合。使用上述方法/模块,您应该能够检索其中的任何一个。
    • 非常感谢。您提供的详细信息对我理解差异非常有用:)
    • 您好,我对您建议的方法进行了一些测试。看起来 pywikibot 建议使用我不感兴趣的反向链接,例如 [[en:User talk:202.58.134.131]]。是否可以从列表中过滤掉这些不相关的反向链接?期待您的回音。谢谢你:)
    • 使用namespaces 参数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-03
    • 2012-02-27
    • 2010-12-06
    • 1970-01-01
    相关资源
    最近更新 更多